如何使用shell脚本改变当前工作路径
2008-04-22 22:15
761 查看
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”是命令的参数,即要执行的脚本
注:两点之间要有空格
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”是命令的参数,即要执行的脚本
注:两点之间要有空格
相关文章推荐
- Linux下使用Shell脚本改变当前工作路径
- Linux下使用Shell脚本改变当前工作路径
- Linux下使用Shell脚本改变当前工作路径
- Linux下使用Shell脚本改变当前工作路径
- shell如何更改当前工作路径
- 为什么linuxC程序设计中不能使用system("cd ..")来改变当前工作路径而用chdir()函数
- 如何改变Erlang的当前工作路径
- shell如何更改当前工作路径
- dirname命令介绍-使用dirname在shell脚本中获取当前脚本文件所在的绝对路径
- 如何改变Erlang的当前工作路径
- 如何改变Erlang的当前工作路径
- 使用shell脚本显示出当前路径或者去掉目录路径
- 通过脚本改变当前的工作路径
- python shell中改变当前工作路径
- 如何改变Erlang的当前工作路径
- python shell中python os模块实用函数(含改变当前工作路径、显示当前目录等)
- shell脚本如何获取当前路径并保存到变量
- Python Shell中切换当前工作目录(路径)
- 在shell脚本中,如何写使用for循环
- 如何将PHP作为Shell脚本语言使用