位置變量:
表示為$n,n為1~9之間的數字,$n的作用就是為腳本文件傳遞執行參數。
在使用ls命令的時候,ls命令程序如何知道用戶是否輸入了“-l”、“-a”選項?如何知道用戶要查看的是哪個目錄?位置變量正是用來解決這個問題的,它可以將用戶在命令行輸入的參數復制給特定的變量,然後交給程序去處理
(例如當執行“service network restart”命令行時,第1個位置參數用“$1”表示,對應的值為“network”,第2個位置參數用“$2”表示,對應的值為“restart”;當用戶輸入的位置參數超過9個時,位置變量 $9 將自動包含最後部分的所有字符串(即使有空格分隔))
[linuxidc@localhost ~]ls -a -l -l ==>a就是第1個位置變量,依次類推,其實這個命令就是ls -al
預定義變量:
[root@localhost ~]# bash [root@localhost ~]# echo $0 $$ ==>查看當前所執行進程的名稱、PID號 -bash 32484 [root@localhost ~]# exxit ==>執行一條錯誤的命令 bash: exxit: command not found [root@localhost ~]# echo $? 127 ==>返回非0值,表示上一條命令異常 [root@localhost ~]# exit exit [root@localhost ~]# echo $? 0 ==>返回0,說明上一條命令正常
靈活使用這些變量,將大大增強Shell腳本程序的功能,$0作為預定義變量,表示當前執行的程序名,需要與$1~$9的位置變量區分開。