Shell指令碼的執行

2021-09-28 13:51:49 字數 1037 閱讀 2713

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....