shell 脚本常用参数
$# 表示提供到shell腳本或者函數的參數總數;
$1 表示第一個參數。
-ne 表示 不等于
另外:
整數比較
-eq 等于,如:if ["$a" -eq "$b" ]
-ne 不等于,如:if ["$a" -ne "$b" ]
-gt 大于,如:if ["$a" -gt "$b" ]
-ge 大于等于,如:if ["$a" -ge "$b" ]
-lt 小于,如:if ["$a" -lt "$b" ]
-le 小于等于,如:if ["$a" -le "$b" ]
< 小于(需要雙括號),如:(("$a" < "$b"))
<= 小于等于(需要雙括號),如:(("$a" <= "$b"))
> 大于(需要雙括號),如:(("$a" > "$b"))
>= 大于等于(需要雙括號),如:(("$a" >= "$b"))
另外:$?是shell變量,表示"最后一次執行命令"的退出狀態.0為成功,非0為失敗.
文件表達式
-e filename 如果 filename存在,則為真
-d filename 如果 filename為目錄,則為真?
-f filename 如果 filename為常規文件,則為真
-L filename 如果 filename為符號鏈接,則為真
-r filename 如果 filename可讀,則為真?
-w filename 如果 filename可寫,則為真?
-x filename 如果 filename可執行,則為真
-s filename 如果文件長度不為0,則為真
-h filename 如果文件是軟鏈接,則為真
filename1 -nt filename2 如果 filename1比 filename2新,則為真。
filename1 -ot filename2 如果 filename1比 filename2舊,則為真。
整數變量表達式
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于
字符串變量表達式
If ?[ $a = $b ] ? ? ? ? ? ? ? ? 如果string1等于string2,則為真
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 字符串允許使用賦值號做等號
if ?[ $string1 != ?$string2 ] ? 如果string1不等于string2,則為真 ? ? ??
if ?[ -n $string ?] ? ? ? ? ? ? 如果string 非空(非0),返回0(true) ?
if ?[ -z $string ?] ? ? ? ? ? ? 如果string 為空,則為真
if ?[ $sting ] ? ? ? ? ? ? ? ? ?如果string 非空,返回0 (和-n類似)?
? ? 邏輯非 ! ? ? ? ? ? ? ? ? ??條件表達式的相反
if [ ! 表達式 ]
if [ ! -d $num ] ? ? ? ? ? ? ??如果不存在目錄$num
? ? 邏輯與 –a ? ? ? ? ? ? ? ? ? 條件表達式的并列
if [ 表達式1 ?–a ?表達式2 ]
? ? 邏輯或 -o ? ? ? ? ? ? ? ? ? 條件表達式的或
if [ 表達式1 ?–o 表達式2 ]
cut 在批量處理文件后綴名的妙用:
BUILDTOOL_PATH=~/home/12.0.1/MDS PACKSPX=$BUILDTOOL_PATH/svnspxex/packspx.py SCRIPT_DIR=$(pwd) DIR=$SCRIPT_DIR/packages mkdir $SCRIPT_DIR/oldpackages echo "ex-Pack SPX package...." for i in `ls $DIR/`; do l= expr length $i; l=l-4; #???echo l; j=$(ls $DIR/$i |cut -f 1-5 -d.); #???echo $j; python $PACKSPX -x $DIR/$i $j; done mv $DIR/*.spx $SCRIPT_DIR/oldpackages mv $DIR/.* $SCRIPT_DIR/oldpackages轉載于:https://www.cnblogs.com/hammerqiu/p/10903964.html
總結
以上是生活随笔為你收集整理的shell 脚本常用参数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring-Data-MongoDB的
- 下一篇: python利用unittest进行测试