Linux下使用Shell脚本改变当前工作路径

2019-04-26 08:23:55来源:华彩软件站 阅读 ()

新老客户大回馈,云服务器低至5折

Shell 脚本执行有三种方法





bash 脚本名



sh 脚本名



chmod +x 脚本名





使用下面语句测试







#a.sh(扩展名可不要)

cd /

pwd

echo "complete"





然而具体执行时候,发现过程中改变过路径,然而最终结果是并没有改变路径。







[fedora@localhost ~]$ bash a.sh

/

complete

[fedora@localhost ~]$





原因分析:





执行脚本时候,只是在当前的shell下开了一个子进程,切换目录的操作只对该进程中相关后续指令有效,但改变不了父进程的目录。





解决方法:





法一:



用 source a.sh就行了。



法二:







[fedora@localhost ~]$ cd ~

[fedora@localhost ~]$ chmod u+x a.sh

[fedora@localhost ~]$ . ./a.sh

/

complete

[fedora@localhost /]$





对于 $ . ./a.sh



第一个点是bash的内部命令,表示在当前shell中运行



后面的“./a.sh”是命令的参数,即要执行的脚本





注:两点之间要有空格。

 


原文链接:http://www.huacolor.com/article/31697.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:如何解决进入XP系统无法响应的方法

下一篇:Windows下删除文件没有权限解决方法