您现在的位置是:网站首页> 编程资料编程资料
基于shell脚本中cd命令无效的解决方法_linux shell_
2023-05-26
295人已围观
简介 基于shell脚本中cd命令无效的解决方法_linux shell_
在学习的时候,经常要切换到固定的文件夹,于是写了个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 .和.中间有个空格!
以上这篇基于shell脚本中cd命令无效的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
您可能感兴趣的文章:
相关内容
- 通过shell脚本循环进入目录执行命令的方法_linux shell_
- shell递归输出文件名和目录名的方法_linux shell_
- 利用shell脚本遍历文件夹内所有的文件并作整理统计的方法_linux shell_
- 十三个写好shell脚本的技巧分享_linux shell_
- shell获取目录下所有文件夹的名称并输出的实例_linux shell_
- Linux Shell获取文件夹下的文件名方法_linux shell_
- linux 获取文件名称并生成列表txt的方法_linux shell_
- linux命令返回值的含义解析_linux shell_
- 浅析Linux tar打包命令_linux shell_
- windows下上传shell脚本不能运行的解决方法_linux shell_
