新聞中心
在命令行中執(zhí)行腳本時(shí)可能會(huì)遇到兩種不同的方式:所有的文件都必須具備可執(zhí)行權(quán)限才能被系統(tǒng)執(zhí)行。如果你已經(jīng)給該文件設(shè)置了可執(zhí)行權(quán)限,如果你僅僅是想運(yùn)行當(dāng)前目錄下的某個(gè)腳本。
在 Linux 的世界里,腳本運(yùn)行是一個(gè)非常常見的操作。而對(duì)于初學(xué)者來說,在命令行中執(zhí)行腳本時(shí)可能會(huì)遇到兩種不同的方式:使用 sh 命令或直接使用 ./ 運(yùn)行。

在興城等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站建設(shè),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,全網(wǎng)營(yíng)銷推廣,成都外貿(mào)網(wǎng)站建設(shè),興城網(wǎng)站建設(shè)費(fèi)用合理。
那么,這兩種方式究竟有何區(qū)別呢?
首先我們需要知道,在 Linux 中,所有的文件都必須具備可執(zhí)行權(quán)限才能被系統(tǒng)執(zhí)行。因此,在運(yùn)行一個(gè)腳本之前,你需要確保它已經(jīng)被賦予了可執(zhí)行權(quán)限。
通常情況下,我們可以通過 chmod 命令改變文件的權(quán)限:
```
chmod +x script.sh
其中 script.sh 是你要運(yùn)行的腳本文件名。
現(xiàn)在讓我們回到正題:使用 sh 命令與直接使用 ./ 運(yùn)行兩個(gè)不同版本的腳本之間有何差異?
1. 使用 sh 命令
如果你想要運(yùn)行一個(gè)以 .sh 結(jié)尾的 shell 腳本,并且沒有給它賦予可執(zhí)行權(quán)限,則可以通過以下命令來運(yùn)行:
sh script.sh
當(dāng)然,如果你已經(jīng)給該文件設(shè)置了可執(zhí)行權(quán)限,則也可以用相對(duì)路徑來代替絕對(duì)路徑:
sh /path/to/script.sh
值得一提的是,在調(diào)用 sh 時(shí),你并不需要指定腳本的路徑。如果你僅僅是想運(yùn)行當(dāng)前目錄下的某個(gè)腳本,則可以直接輸入:
sh ./script.sh
這種方式在使用上非常簡(jiǎn)單,但同時(shí)也有一些限制。首先,由于 sh 命令實(shí)際上是啟動(dòng)一個(gè)新進(jìn)程來執(zhí)行該命令,在一些情況下可能會(huì)影響性能。
其次,sh 命令只適用于 shell 腳本,并不能保證其他類型的腳本都能夠正常運(yùn)行。因此,在編寫跨平臺(tái)腳本時(shí)應(yīng)當(dāng)慎重選擇。
2. 直接使用 ./ 運(yùn)行
與 sh 命令相比,直接使用 ./ 運(yùn)行則更加方便快捷。例如:
./script.sh
或者:
/path/to/script.sh
注意:在這里我們省略了 sh 命令,并且直接給出了文件名(或絕對(duì)路徑)。這就意味著系統(tǒng)會(huì)試圖解釋該文件中的命令,并將它們作為一個(gè)獨(dú)立進(jìn)程來執(zhí)行。
通過使用 ./ 語法來運(yùn)行 shell 腳本還有另外兩個(gè)優(yōu)點(diǎn):
- 更好地控制環(huán)境變量和參數(shù)。
- 可以避免一些安全問題。
總結(jié)
以上兩種方法各有優(yōu)缺點(diǎn),在實(shí)際開發(fā)過程中需要根據(jù)具體情況進(jìn)行選擇。如果你想要運(yùn)行一個(gè) shell 腳本,并且不關(guān)心性能問題,那么使用 sh 命令是最簡(jiǎn)單的方式;而如果你希望更好地控制環(huán)境變量和參數(shù),或者想避免一些安全風(fēng)險(xiǎn),則直接使用 ./ 運(yùn)行可能會(huì)更加合適。
在 Linux 的世界里,腳本運(yùn)行是一項(xiàng)非?;A(chǔ)的操作。因此,在學(xué)習(xí)這個(gè)過程中,請(qǐng)務(wù)必注意保持耐心、深入思考,并積極嘗試各種方法來找到最佳解決方案。
網(wǎng)頁題目:Linux跑腳本用sh和./有什么區(qū)別?
文章路徑:http://m.fisionsoft.com.cn/article/cdcehij.html


咨詢
建站咨詢
