2014-09-06 42 views
-1

我想寫出具有的那種

> export PATH=$PREFIX/bin 

的幾個命令的腳本在哪裏

> $PREFIX = /home/usr 

或別的東西。而不是將它輸入到Shell(/ bin/bash)中,我將運行腳本來執行命令。

與SH,然後與具有線的.py腳本試了一下,

> commands.getstatusoutput('export PATH=$PREFIX/bin') 

但這些結果爲錯誤的「壞變量名」。 會感謝一些想法!

回答

1

壞的變量名稱可能只是$PREFIX未定義的投訴。

通常的PATH設置看起來像

export PATH=$PATH:/new/path/to/programs 

,讓你保留舊PATH但添加的東西到年底。

你是最好關閉把這樣的事情在你的.bashrc,使他們獲得運行每次登錄的時間。

2

如果您需要.profile和等價物之後調整通過腳本路徑(或任何其他環境變量)已經在運行,你需要「點」或「源」包含腳本文件:

. file_setting_path 
source file_setting_path 

.符號適用於所有的Bourne shell衍生物,並通過POSIX規範。在C shell中使用source表示法,並且已經完全不必要地感染了Bash。

請注意,文件(file_setting_path)可以指定爲路徑名,或者如果它位於$PATH上列出的目錄中,它將被找到。它只需要可讀;它不必是可執行的。

dot命令的工作方式是它讀取指定文件作爲當前shell環境的一部分,而不是像在普通腳本中那樣在子shell中執行它。通常,子shell會愉快地設置它的環境,但這不會影響調用腳本。