echo 『i am lyj』 #按回車鍵後再按ctrl+d組合鍵結束編輯
cat test.sh
sh test.sh #sh命令
bash test.sh #bash命令
ls -l tesh.sh #
./test.sh #當無法自動補全表示沒有許可權
(執行結果)-bash:./test.sh:permission denied
沒有許可權的指令碼不能直接被執行,但是可以用source或「.」(點號)來執行
. test.sh #用「.」來執行
source test.sh #用source來執行
「.」和source的功能相同,都是讀入指令碼並執行指令碼。
給test.sh新增可執行許可權,命令如下
chmod u+x test.sh
加了許可權就可以執行了,但是這種方法在使用前每次都需要給定執行許可權,容易忘記且增加了複雜性。
echo 'userdir=`pwd`' > testsource.sh #將'userdir=`pwd`'寫入檔案
cat testsource.sh #顯示檔案的內容
sh testsource.sh #用sh命令執行指令碼
echo $userdir #此條命令輸出為空
通過sh或bash執行的指令碼結束後,在當前shell視窗檢視userdir變數的值,會發現值是空的。
現在以同樣的步驟改用source或「.」執行,然後在看userdir變數的值:
source testsource.sh #採用source執行同一指令碼
echo $userdir #此處輸出了當前路徑
#source funnction library
./etc/init.d/fanctions #<==通過「.」載入系統函式庫fanctions
shell 執行shell指令碼
bin bash echo hello world 是乙個約定的標記,它告訴系統這個指令碼需要什麼直譯器來執行,即使用哪一種 shell。echo 命令用於向視窗輸出文字。1 作為可執行程式 chmod x test.sh 使指令碼具有執行許可權 test.sh 執行指令碼注意,一定要寫成 test...
shell 指令碼的執行
如何執行shell程式,如何在shell程式以及後續指令碼中使用同乙個變數,這些在工作中經常用到,我找到如下的文章,再加深複習一下。1.source命令用法 source filename 作用 在當前bash環境下讀取並執行filename中的命令。該filename檔案可以無 執行許可權 注 該...
shell指令碼的執行
shell指令碼有兩種執行方式,一種是直接執行,一種是使用 source或.命令執行 直接執行shell指令碼,bash會在當前bash下新建乙個子bash程序用來執行shell指令碼,此時指令碼裡定義的變數,並不會傳會到父bash程序中 bin bash var 12 echo var exec....