1. 程式人生 > 其它 >shell教程--第一個shell指令碼

shell教程--第一個shell指令碼

技術標籤: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指令碼的話並不建立子程序,就是在原來的程序中執行,所以最後的工作目錄改變了。

本文出現任何錯誤,請留言私信批評指正。

下一節(shell教程–4種常用的轉義字元)