linux 脚本$字符,一文看懂shell脚本中$0 $1 $# $@ $* $? $$ 的各种符号意义
概述
shell中有兩類字符,一類是普通字符,在Shell中除了本身的字面意思外沒有其他特殊意義,即普通純文本;另一類即元字符,是Shell的保留字符,在Shell中有著特殊的含義。
今天主要介紹一下shell中字符$的各種用法。
轉義字符$
在linux shell腳本中經常用到字符$,下面是$的一些常見用法
$# 是傳給腳本的參數個數
$0 是腳本本身的名字
$1 是傳遞給該shell腳本的第一個參數
$2 是傳遞給該shell腳本的第二個參數
$@ 是傳給腳本的所有參數的列表
$* 是以一個單字符串顯示所有向腳本傳遞的參數,與位置變量不同,參數可超過9個
$$ 是腳本運行的當前進程ID號
$? 是顯示最后命令的退出狀態,0表示沒有錯誤,其他表示有錯誤
測試腳本
為了方便大家理解,簡單寫了一個腳本做演示:
#!/bin/shecho 'number:$#'echo 'scname:$0'echo 'first :$1'echo 'second:$2'echo 'argume:$@'echo 'allargume:$*'echo 'pid:$$'if [ '$1' == 100 ]then echo '命令退出狀態:$?' exit 0 #參數正確,退出狀態為0else echo '命令退出狀態:$?' exit 1 #參數錯誤,退出狀態1fi
執行結果:
總結
以上是生活随笔為你收集整理的linux 脚本$字符,一文看懂shell脚本中$0 $1 $# $@ $* $? $$ 的各种符号意义的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mac能远程到wjn的linux,lin
- 下一篇: linux 防火墙 限速,linux i