Linux 下執行Shell 腳本的方式


 

Shell 腳本的執行方式通常有如下三種:

(1)bash script-name 或者 sh script-name;(2)path/script-name或者./script-name;(3)sourcescript-name或者. script-name。下面,分別介紹下這三種方式的特點:

(1)bash script-name或者sh script-name

這是當腳本文件本身沒有可執行權限(即文件權限屬性x位為-號)時常使用的方法,或者腳本文件開頭沒有指定解釋器時需要使用的方法。推薦使用這種方法。

(2)path/script-name或者./script-name

指在當前路徑下執行腳本(腳本需要有執行權限),需要將腳本文件的權限改為可執行(即文件權限屬性為x位)。具體方法為:chmod a+x script-name。然后通過執行腳本絕對路徑或者相對路徑就可以執行腳本了。
注意:在生產環境中,運維人員由於忘記為該腳本設置可執行權限,然后直接使用,導致出錯。因此,推薦第一種 bashscript-name。

(3)source script-name或者. script-name

source或者“.”命令的功能是:讀入腳本並執行腳本,即在當前Shell中執行source或“.”加載並執行的相關腳本文件的命令及語句,而不是產生一個子Shell來執行文件中的命令。

補充知識點:

一個規范的Shell腳本在第一行會指出由哪個程序(解釋器)來執行腳本中的內容,不同的shell有不同的解釋器,例如C shell、TC shell等,這一行內容在Linux bash的編程一般為:

#!/bin/bash

#!/bin/sh

注意:

(1)在Shell中如果一行的第一個字母是#,則是注釋,但是上面兩個是寫在第一行,所以不是腳本注釋行,如果寫在某個命令之后,則變成注釋行。

(2)sh為bash的軟鏈接,大多數情況下,腳本的開頭使用“#!/bin/bash”和“#!/bin/sh”是沒有區別的,但更規范的寫法是在腳本的開頭使用“#!/bin/bash”。


參考原文鏈接:https://blog.csdn.net/timchen525/article/details/76407735


免責聲明!

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



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