歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> Linux下使用Shell腳本改變當前工作路徑

Linux下使用Shell腳本改變當前工作路徑

日期:2017/3/2 16:49:32   编辑:SHELL編程

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”是命令的參數,即要執行的腳本

注:兩點之間要有空格

Copyright © Linux教程網 All Rights Reserved