shell腳本中無法使用cd的問題解決方法


前言

在我們使用shell編寫腳本的時候,有時會需要切換到其他的目錄中。但是,當我們按往常的格式一樣在腳本中寫入cd后,要切換的目錄是存在的,但是當執行腳本,我們會收到報錯,原因是cd的命令在腳本中沒有實現。

原因

  1. 在shell在執行腳本的時候,會創建一個子shell,並在子shell中逐條執行腳本中的指令

  2. 子shell會從父shell中繼承了環境變量,但是執行后不會改變父shell的環境變量

  3. 在子shell中的操作和環境變量不會影響父進程,在執行完shell后又回到了父進程

解決方法

只需要source腳本即可。

source 命令可以在當前的shell環境下執行腳本,不會創建子shell ,直接影響父進程。

source命令可直接換成 “.”。

source /home/bash/bash.sh

或

. /home/bash/bash.sh

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM