在shell中改變當前環境路徑

在linux環境下,常有通過shell腳本進入指定目錄的操作,例如有一段腳本chdir.sh:    
#!/bin/sh  
cd /home/user/Downloads  
pwd  

在shell環境下通過./chdir.sh執行這段腳本是無法進入Downloads目錄的, 這是因爲shell在執行腳本時,會創建一個子shell,並在子shell中逐個執行腳本中的指令; 而子shell中從父shell中繼承了環境變量,但是執行後不會改變父shell的環境變量。如果想要代碼中切換目錄的操作生效,只需要通過source 命令執行即可:
source ./chdir.sh   
解釋:source 命令是在當前的shell環境下執行腳本 ,不會創建子shell; 

每次都要輸入source是一件煩瑣的事情,其實source命令又叫點命令,在需要用到source的情況下,直接換成'.'即可: 
. ./chdir.sh  
注意:兩點之間有空格。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章