基于shell脚本中cd命令无效的解决方法
2018-06-19 09:58
2021 查看
在学习的时候,经常要切换到固定的文件夹,于是写了个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命令无效的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- linux shell脚本中cd命令无效的解决方法
- java运行shell命令,chmod 777 xxx,改变权限无效的解决的方法。
- 解决shell脚本cd命令不能进入指定目录的问题
- shell脚本中cd命令无效
- shell脚本中cd命令无效的解决方案
- 【Shell】关于shell脚本中执行cd命令无效的分析
- Linux 系统命令(cd之类的)在shell脚本中无效解析
- windows安装cygwin运行shell脚本 $'\r': 未找到命令的解决方法
- shell脚本中cd命令无效的解决方案
- android adb命令无效解决方法
- linux下shell脚本执行方法及exec和source命令
- Shell脚本中cd命令使用
- IIS6 中"ASP 0201 错误 无效的默认脚本语言" 的解决方法
- Shell 脚本中的进入目录命令cd
- sh文件在windows下修改后无法执行的解决方法以及shell脚本中含中文乱码
- 关于shell脚本中报 “/bin/sh^M: bad interpreter: 没有那个文件或目录”的解决方法
- ubuntu12.04中shell脚本无法使用source的原因及解决方法
- 【CD唱片shell脚本实现】实现方法
- linux下shell脚本执行方法及exec和source命令
- linux iptables跟service 命令无效解决方法