什麼是Linux的Shell指令碼和怎麼執行指令碼?
一、什麼是Shell?
shell是外殼的意思,就是作業系統的外殼。我們可以通過shell命令來操作和控制作業系統,比如Linux中的Shell命令就包括ls、cd、pwd等等。總結來說,Shell是一個命令直譯器,它通過接受使用者輸入的Shell命令來啟動、暫停、停止程式的執行或對計算機進行控制。
二、什麼是指令碼?
指令碼就是由Shell命令組成的檔案,這些命令都是可執行程式的名字,指令碼不用編譯即可執行。它通過直譯器解釋執行,所以速度相對來說比較慢。
三、Linux中有哪些指令碼直譯器?
有dash和bash兩種,但dash沒有bash功能全面,所以通常使用bash。
可以通過命令來檢視系統中的指令碼直譯器: ls -l /bin/*sh
四、怎麼執行指令碼檔案?
先建立一個指令碼檔案 script.sh , 字尾名是 .sh
#!/bin/bash
echo "this is the first shell script"
注意:執行之前首先要為指令碼檔案新增可執行許可權,不然就得用root許可權才能執行!
新增可執行許可權: chmod +x script.sh 回車
<1>第一種執行方式
sh script.sh 回車
<2>第二種執行方式
./script.sh 回車
這兩中執行方式有什麼區別呢?
區別:第一種方式,使用/bin/sh所指向的shell直譯器來執行指令碼檔案
第二種方式,它預設使用/bin/sh所指向的shell直譯器來執行指令碼檔案,前提是指令碼檔案中未指定直譯器。但如果在指令碼檔案中指定了使用哪種指令碼直譯器,那麼它就不管/bin/sh指向哪個指令碼直譯器,而是使用指令碼檔案中所制定的那個指令碼直譯器。
在指令碼檔案中指定指令碼直譯器: #!/bin/bash
<3>第三種執行方式
指定指令碼檔案的絕對路徑,即可執行
舉例: /home/liutao/LinuxStudy/shellStudy/script.sh 回車
這種執行方式選擇使用的指令碼直譯器和第二種相同。
執行指令碼檔案後輸出截圖: