sh或是執行腳本,或是切換到sh這個bash里,默認的shell是bash,你可以試試tcsh啊,csh啊,ksh,zsh什麼的,看看別的shell是什麼樣子的。當然,linux中sh是鏈接到bash上的,所以sh與bash在功能上是沒有區別的。
還有就是在執行腳本的時候是用sh
+
腳本名的方式來執行,其實,大部分的時候,簡單腳本只要許可權設置正確,可以直接執行,不需要sh命令的
B. linux ./a.sh 命令 與sh a.sh的區別是什麼
linux ./a.sh 命令 與sh a.sh的區別為:可執行屬性不同、執行方式不同、兼容性不同。
一、可執行屬性不同
1、./a.sh 命令:./a.sh 命令的文件必須具有可執行屬性。
2、sh a.sh命令:sh a.sh命令的文件不必具有可執行屬性。
二、執行方式不同
1、./a.sh 命令:./a.sh 命令使用腳本中第一行所指定的命令來解釋和執行文件。
2、sh a.sh命令:sh a.sh命令使用shell工具的SH腳本直接解釋和執行文件。
三、兼容性不同
1、./a.sh 命令:./a.sh 命令的兼容性比sh a.sh命令更好,不受限於shell工具。
2、sh a.sh命令:sh a.sh命令的兼容性比./a.sh 命令更差,受限於shell工具。
C. linux中.sh腳本文件中命令的執行順序
每條命令後如果不加&的話就是依次一行一行的順序執行,只有前面一行執行完成後再執行下一行,如果希望多個命令在一個shell內執行可在一行寫入多條命令,用&&符號間隔
D. linux執行sh腳本的指令有哪些
bash shell 腳本的方法有多種,現在作個小結。假設我們編寫好的shell腳本的文件名為hello.sh,文件位置在/data/shell目錄中並已有執行許可權。
方法一:切換到shell腳本所在的目錄(此時,稱為工作目錄)執行shell腳本:
復制代碼代碼如下:
cd /data/shell
./hello.sh
./的意思是說在當前的工作目錄下執行hello.sh。如果不加上./,bash可能會響應找到不到hello.sh的錯誤信息。因為目前的工作目錄(/data/shell)可能不在執行程序默認的搜索路徑之列,也就是說,不在環境變數PASH的內容之中。查看PATH的內容可用 echo $PASH 命令。現在的/data/shell就不在環境變數PASH中的,所以必須加上./才可執行。
方法二:以絕對路徑的方式去執行bash shell腳本:
復制代碼代碼如下:
/data/shell/hello.sh
方法三:直接使用bash 或sh 來執行bash shell腳本:
復制代碼代碼如下:
cd /data/shell
bash hello.sh
或
復制代碼代碼如下:
cd /data/shell
sh hello.sh
注意,若是以方法三的方式來執行,那麼,可以不必事先設定shell的執行許可權,甚至都不用寫shell文件中的第一行(指定bash路徑)。因為方法三是將hello.sh作為參數傳給sh(bash)命令來執行的。這時不是hello.sh自己來執行,而是被人家調用執行,所以不要執行許可權。那麼不用指定bash路徑自然也好理解了啊,呵呵……。
方法四:在當前的shell環境中執行bash shell腳本:
復制代碼代碼如下:
cd /data/shell
. hello.sh
或
復制代碼代碼如下:
cd /data/shell
source hello.sh
前三種方法執行shell腳本時都是在當前shell(稱為父shell)開啟一個子shell環境,此shell腳本就在這個子shell環境中執行。shell腳本執行完後子shell環境隨即關閉,然後又回到父shell中。而方法四則是在當前shell中執行的。
E. Mac下建立.sh腳本文件
首先我們需要建立一個腳本文件,可以用文本編輯器或者其它工具碰手(如VS Code)建立,注意保存為.sh格式。如,建立一個名為test1的.sh文件:test1.sh。在文件中我們可以寫一段最簡單的命令:echo Hello World!!!
二、賦予腳本可執行的許可權
1、進入Mac終端
2、進入test1.sh文件所在的目錄,cd 空格,拖拽文件到終端,然後刪除 /文件名 即可
3、賦予腳本可執行權源吵或限雹伍,輸入命令:chmod +x test1.sh 回車
F. Linux 腳本 sh 和 ./ 的區別
區別只有一點:
sh表示腳本默認使用sh腳本解釋器。
未指定腳本解釋器默認為 ./。
具體解釋:
使用「./」執行腳本,對應的xxx.sh腳本必須要有執行許可權。
使用「sh」 執行腳本,對應的xxx.sh沒有執行許可權,亦可執行。
當腳本開頭使用#!設置使用的shell類型時,使用「./」執行腳本時,則使用「#!」標志的shell執行腳本;若無使用「#!」標記,則使用系統設置的默認shell執行腳本。
(6)sh腳本命令擴展閱讀:
舉例:
登錄用戶root查看許可權:
-rwx—— 1 root root
執行這個shell腳本 :
./test 成功。
sh test 成功。
去掉執行許可權x:
-rw——- 1 root root 17 2011-09-22 23:33 test
執行這個shell腳本。
./test 失敗 (-bash: ./test: Permission denied)。
sh test 成功。
G. sh代表什麼意思
1.sh是linux中運行shell的命令,是shell的解釋器,shell腳本是linux中殼層與命令行界面,用戶可以在shell腳本輸入命令來執行各種各樣的任務。
要運行shell腳本,首選需要給shell腳本許可權,這顫缺里里以hello.sh文件為例,首先需要按下「crtl+shift+T」打開終端窗口:
(7)sh腳本命令擴展閱讀
使用用戶的預設憑證和環境執行 shell。
在UEFI環境下,EFI的Shell環境提供了一組豐富的擴展和增強的命令,在以後的計算機中,傳統的DOS界面將會被SHELL環境所取代。
所有的.exe文件將不會在以後支持SHELL的環境中出現,取而代之的文件後綴是.efi。在SHELL環境下,分為IA32和X64,32位的*.efi文件不能在X64的計算機中運行。
H. Mac OS 終端運行.sh腳本
1、編輯腳本文件。例如 test.sh 保存到 /Users/電腦用戶名/Documents 目錄下。內容:
echo "hello";
2、打開終端,運行 cd /Users/電腦用戶名/Documents 進入目錄;
3、直接運行 test.sh;
如果迅源雀提示 -bash: test.sh: command not found 錯誤,設置 PATH :
export PATH=$PATH:/Users/電腦用戶名/Documents
有時候也會提示 -bash: test.sh: No such file or directory,同樣運行簽名的命令,設置PATH即可解決;
再次運行,在控制裂野台就能看到 hello 了!
如果還不行,試試 chmod u+x test.sh 提升文件許可權後,再運行腳本畝早。