扣丁学堂Linux培训之shell脚本中cd命令无效的解决方法

2019-05-30 15:34:08 3260浏览

在学习的时候,经常要切换到固定的文件夹,于是写了个shell脚本用cd命令切换却发现目录切换不了。本篇文章扣丁学堂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方面内容的小伙伴,请关注扣丁学堂Linux培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供权威的Linux视频,Linux培训后的前景无限,行业薪资和未来的发展会越来越好的,扣丁学堂老师精心推出的Linux在线教程定能让你快速掌握Linux从入门到精通开发实战技能。扣丁学堂Linux技术交流群:422345477。


                          【扫码进入HTML5VIP免费公开课】  


     【关注微信公众号获取更多学习资料】        【扫码进入HTML5前端开发VIP免费公开课】



查看更多关于“Linux培训资讯”的相关文章>>

标签: Linux培训 Linux视频教程 红帽Linux视频 Linux学习视频 Linux入门视频

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号