shell學習之常見系統變量

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

image-20200426230525283

實例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

image-20200426233327039

補充一下,寫幾個參數

./shell.sh p1 p2 p3 p4 p5

image-20200426233019108

注意

單引號:

即將單引號中內容原樣輸出

雙引號:

把雙引號內的內容輸出出來;如果內容中有命令,變量等,會先把變量,命令解析出結果,然後在輸出最終內容來。

雙引號內命令或變量的寫法爲命令或變量或$(命令或變量)。

##補充運行結果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章