2011-09-22 179 views
1

這個腳本是做什麼的?shell腳本幫助

if [ -f /../../file1] then 
    . /../../file1 
fi 

它檢查file1是否存在。當時的聲明做了什麼?

回答

5

在bash中.相當於source。它讀取file1並在當前的bash過程中運行它。

0

如果文件存在,它就會變得乾乾淨淨,如果它確實存在,它就會生成文件(在當前進程中運行文件中的命令)。例如,如果文件包含export行,則會在當前進程中設置環境變量。

作爲一個例子,在Ubuntu,默認.bashrc文件具有以下線:

if [ -f ~/.bash_aliases ]; then 
    . ~/.bash_aliases 
fi 

這指示bash的文件是否存在於從~/.bash_aliases運行的所有命令。

1

它包含幾個錯誤。

/../../file1作爲文件名沒有多大意義。 /..將是根目錄的父級;通常根目錄是它自己的父目錄,因此/../../file1可能只是一種奇怪的寫入方式/file1

[]附近需要空格,並且]後面應該跟一個分號或換行符。

隨着這些問題的糾正,它做了其他答案所說的。