shell教程--第一個shell指令碼
阿新 • • 發佈:2021-01-20
技術標籤:linux shell篇linuxcentos伺服器運維
第一個shell指令碼
進入 Linux 終端,編寫一個 Shell 指令碼,檔名為 hello.sh :
#!/bin/bash
cd /opt/
echo "Hello World !"
.sh 不是強制要求的,常用副檔名為 sh代表shell,副檔名並不影響指令碼執行。
#! 告訴系統這個指令碼需要什麼直譯器來執行。
echo 命令用於向視窗輸出文字。
執行
1. 呼叫直譯器執行
bash hello.sh 或者 sh hello.sh <==> /bin/bash hello.sh 或者 /bin/sh hello.sh
2. 作為可執行程式
chmod +x hello.sh && ./hello.sh //賦予執行許可權,然後執行此檔案
3. 使用 source 命令
source hello.sh
三種執行方式的區別:
在指令碼的第二行有cd命令,這是一個改變工作目錄的命令,可是使用第一種和第二種執行指令碼後當前的工作目錄並沒有改變,使用第三種方法執行後當前的工作目錄就改變了,進入了opt中。出現這種情況是系統本身執行指令碼的方式不同所造成的!
前兩種方法執行指令碼時系統會建立一個子程序或者說子shell來執行指令碼,原來的程序就是父程序,整個過程中父程序會等待子程序執行完畢,然後子程序退出,父程序也退出。cd命令確實被執行了,但是僅僅是在子程序中改變了工作目錄,所以指令碼執行完後使用pwd顯示工作目錄並沒有改變。而第三種方法執行的shell指令碼的話並不建立子程序,就是在原來的程序中執行,所以最後的工作目錄改變了。
本文出現任何錯誤,請留言私信批評指正。