当前位置: 技术问答>linux和unix
为什么执行脚本时,切换不到目录?
来源: 互联网 发布时间:2016-02-19
本文导语: 偶使用的是HP-UX 11.11, 执行的代码文件是test.sh,只有以下一句代码: ------------------------------------------------------------- cd /app/src 而且目录/app/src是存在的, 在命令行使用“cd /app/src”可以进去, 但是把其放在脚本却...
偶使用的是HP-UX 11.11,
执行的代码文件是test.sh,只有以下一句代码:
-------------------------------------------------------------
cd /app/src
而且目录/app/src是存在的,
在命令行使用“cd /app/src”可以进去,
但是把其放在脚本却切换不到目录,
请大侠指点,谢谢!
执行的代码文件是test.sh,只有以下一句代码:
-------------------------------------------------------------
cd /app/src
而且目录/app/src是存在的,
在命令行使用“cd /app/src”可以进去,
但是把其放在脚本却切换不到目录,
请大侠指点,谢谢!
|
执行脚本的时候,当前sh就会fork一个进程来执行。
cd的动作是在新的进程中实现,脚本执行完,新的进程就结束了,不会影响原sh的目录。
cd的动作是在新的进程中实现,脚本执行完,新的进程就结束了,不会影响原sh的目录。
|
在后台完成的,你当前的SHELL看不到而已
你把test.sh内多加入几条测试命令就知道了
===============================
cd /app/src
touch test.txt
================================
sh test.sh后在/app/src目录应该新生成test.txt文件了
你把test.sh内多加入几条测试命令就知道了
===============================
cd /app/src
touch test.txt
================================
sh test.sh后在/app/src目录应该新生成test.txt文件了
|
執行以下命令:
chmod +x test.sh (給test.sh追回執行權限)
/.test.sh (執行test.sh)
pwd (查看當前目錄)
chmod +x test.sh (給test.sh追回執行權限)
/.test.sh (執行test.sh)
pwd (查看當前目錄)
|
运行时前面加". ",如下:
. ./test.sh
. ./test.sh