026_關於shell中的特殊變量$0 $n $* $@ $! $?
阿新 • • 發佈:2017-11-18
sys test highlight $@ www. 如果 agen 裏的 單個字符
一、
$n:獲取當前執行的shell腳本的第N個參數,n=1..9,當n為0時表示腳本的文件名,如果n大於9,用大括號括起來like${10}.
$*:獲取當前shell的所有參數,將所有的命令行參數視為單個字符串。
$@:這個程序的所有參數"$1" "$2" "$3" "...",這是將參數傳遞給其他程序的最佳方式,因此TA會保留所有內嵌在每個參數裏的任何空白。
$#:獲取當前shell命令行中參數的總個數。
$_:代表上一個命令的最後一個參數
eg:
cat test.sh #!/bin/bash echo $_
sh test.sh 1 2 3 4 5
/bin/sh
$!:代表最後執行的後臺命令的PID
eg:
? agent git:(master) ? nohup ./falcon-agent -c cfg.json &> var/app.log & [1] 76901 ? agent git:(master) ? ps -p $! PID TTY TIME CMD 76901 ttys000 0:00.01 ./falcon-agent -c cfg.json ? agent git:(master) ? echo $! 76901 ? agent git:(master) ? ps -p $! PID TTY TIME CMD 76901 ttys000 0:00.02 ./falcon-agent -c cfg.json ? agent git:(master) ? echo $! 76901
? agent git:(master) ? nohup sh ./test.sh &
[2] 79469
appending output to nohup.out
? agent git:(master) ? echo $!
79469
二、
參考:http://www.111cn.net/sys/linux/79750.htm
026_關於shell中的特殊變量$0 $n $* $@ $! $?