网站首页 > 开源技术 正文
对于正在学习linux的你,有没有解决不了的问题呢?特别是有些问题网上也找不到答案,经常要切换到固定的文件夹,于是写了个shell脚本用cd命令切换却发现目录切换不了。下面小猿圈Linux讲师为你讲解shell脚本中cd命令无效的解决方法。
代码如下:
#! /bin/bash
# c.sh
cd /mnt/hgfs/vmshare
pwd
解释:
执行的时候是./c.sh来执行的,这样执行的话终端会产生一个子shell(类似于C语言调用函数),子shell去执行我的脚本,在子shell中已经切换了目录了,但是子shell一旦执行完,马上退出,子shell中的变量和操作全部都收回。回到终端根本就看不到这个过程的变化。
验证解释:
#! /bin/bash
# c.sh
history
cd /mnt/hgfs/vmshare
sleep1 #延迟1s
pwd
首先按照 ./c.sh执行,这时候终端没有切换目录,history执行的结果是空的,说明子shell里面没有历史命令(证明前面的解释是正确的)。
解决方法:
source c.sh或者. ./c.sh,这时候就是直接在终端的shell执行脚本了,没有生成子shell,执行的结果就是输出历史命令,并且切换了目录。
注意上面. ./c.sh .和.中间有个空格!
以上就是小猿圈linux讲师介绍的shell脚本中cd命令无效的解决方法,希望更多学习linux的同学找到适合自己的学习方式以及学习方法,如果想学习编程语言的话可以到小猿圈上观看视频,里面有最新最全面的视频教程。
猜你喜欢
- 2024-10-03 Linux下执行system(“cd /某个目录“),为什么路径切换不成功?
- 2024-10-03 linux cd主目录区别(linux cdrom目录)
- 2024-10-03 Linux学习总结4(linux学到了什么知识点)
- 2024-10-03 Linux磁盘分区及文件系统格式化和挂载
- 2024-10-03 linux学习9,查看源码全靠它了,五分钟把vim打造成代码阅读神器
- 2024-10-03 探索Linux的神秘世界:CD和LS命令的使用宝典
- 2024-10-03 Linux系统上挂载CD-ROM系统镜像和iso文件作为yum本地仓库
- 2024-10-03 Linux下简单几步安装AI开发环境-ROS(超有意思)
- 2024-10-03 Linux环境下的持续集成/持续部署(CI/CD)实践
- 2024-10-03 Linux切换目录之cd命令(linux cd切换目录)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)