Bash Shell 中會用到一些參數,
$1,$2,... 特定第幾個參數, $0 表示當前執行的進程名,script 本身的名字,或者在Regex中表示整行輸出
$# 命令列或者是位置參數的個數
$* 所有的位置參數,被作為一個單詞.
$@ 與$*同義,但是每個參數都是一個獨立的""引用字串,這就意味著參數被完整地傳遞
$- 傳遞給指令碼的falg
$! 在後台啟動並執行最後的工作的PID(進程ID).
$_ 儲存之前執行的命令的最後一個參數.
$? 函數或者指令碼本身的退出狀態,用於檢查上一個命令,函數或者指令碼執行是否正確。(0表示該命令正確執行,任何非0值表示命令出錯。)
$$ 指令碼自身的進程ID.
使用舉例:
執行語句運行結果:
[root@myhost tmp]# ./filelist.sh file1.txt file2.txt file3.txtgeneral file list files: 3General by: ./filelist.shLast command: Last PID:Is normal: 0Current PID: 26418
filelist.txt:
[root@myhost tmp]# cat filelist.txtParam1: file1.txtParam2: file2.txtAll param: file1.txt file2.txt file3.txtAll param: file1.txt file2.txt file3.txtFlag: hBLast PID:
filelist.sh
[root@myhost tmp]# cat filelist.sh#!/bin/bash echo "general file list files: $#" echo "General by: $0" echo "Param1: $1" > filelist.txtecho "Param2: $2" >> filelist.txt echo "All param: $*" >> filelist.txtecho "All param: $@" >> filelist.txt echo "Flag: $-" >> filelist.txtecho "Last PID: $!" >> filelist.txt echo "Last command: $_"echo "Is normal: $?"echo "Current PID: $$"
本文出自 “小何貝貝的技術空間” 部落格,請務必保留此出處http://babyhe.blog.51cto.com/1104064/322297
查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/unix/