執行腳本時候,只是在當前的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”是命令的參數,即要執行的腳本 注:兩點之間要有空格
#!/bin/sh echo "Go to Advanced Programming Unix Environment Demos Dir!" cd /home/user1/workspace/c_cpp/advanced_programming_unix_env/apue_demos pwd