shell第一節,輸出常見變量
運行方式shell_name.sh表示shell腳本的名字
sh shell_name.sh
bash shell_name.sh
./shell_name.sh
常見系統變量 | 變量解釋 |
---|---|
$0 | 當前程序的名稱 |
$n (n=1……9) | 第n個參數比如$1 、$2 |
$* | 當前程序所有的參數,不包括程序名稱和程序內寫好的參數,通過一個字符串返回 |
$@ | 輸出所有的參數 |
$# | 當前程序的參數個數 |
$? | 最近一次執行的命令或shell腳本的出口狀態,一般0爲成功,其他是失敗比如127 |
$USER | 當前用戶名 |
$HOSTNAME | 顯示當前主機名 |
$UID | 當前用戶的id |
$PWD | 當前目錄 |
$PATH | 命令搜索路徑 |
$IFS | shell的分隔符 |
$HOME | 用戶主目錄路徑名 |
$TERM | 終端類型 |
echo $LOGNAME | 登錄名 |
實例demo.sh
#!/bin/bash
#author h3zh1:
A=h3zh1
echo "my name is $A"
echo "當前用戶ID: $UID"
echo "當前目錄: $PWD"
echo "當前程序名稱: $0"
echo "第一個參數: $1, 第二個:$2"
echo "上一條命令執行狀態,\$? is $?"
echo "當前程序的參數個數,\$# is $#"
echo "當前程序所有的參數,\$* is $*"
傳入9個參數:
./demo.sh param1 param2 param3 param4 param5 param6 param7 param8 param9
實例shell.sh
#!/bin/bash
#author h3zh1:
A=h3zh1
echo "my name is $A"
echo "當前程序名稱: $0"
echo "當前程序的參數個數,\$# is $#"
echo "當前程序所有的參數,\$* is $*"
echo "其中第一個參數: $1, 第二個:$2"
echo "上命令執行狀態,\$? is $?"
echo "主機名:$HOSTNAME"
echo "當前用戶ID: $UID"
echo "當前目錄: $PWD"
echo "$HOME"
無參運行
sh shell.sh
補充一下,寫幾個參數
./shell.sh p1 p2 p3 p4 p5
注意
單引號:
即將單引號中內容原樣輸出
雙引號:
把雙引號內的內容輸出出來;如果內容中有命令,變量等,會先把變量,命令解析出結果,然後在輸出最終內容來。
雙引號內命令或變量的寫法爲
命令或變量
或$(命令或變量)。
##補充運行結果