1. 程式人生 > 實用技巧 >shell程式設計基礎二

shell程式設計基礎二

轉自大神部落格:https://www.cnblogs.com/clsn/p/8006210.html

1.條件表示式

1.檔案判斷

常用檔案測試操作符

判斷檔案是否存在

[root@linux-test-no data]# [ -f /data/test1.txt ]
[root@linux-test-no data]# echo $?
0            #代表/data/test1.txt檔案存在
[root@linux-test-no data]# [ -f /data/test2.txt ]
[root@linux-test-no data]# echo $?
1            #代表/data/test2.txt檔案不存在

判斷檔案是否存在,邏輯判斷的方式返回結果

[root@clsn scripts]# [ -f /etc/hosts ] && echo "檔案存在" || echo "檔案不存在" 
檔案存在
[root@clsn scripts]# [ -f /etc/hosts1 ] && echo "檔案存在" || echo "檔案不存在" 
檔案不存在

判斷目錄是否存在,邏輯判斷的方式返回結果

[root@clsn scripts]# [ -d /tmp ] && echo "目錄存在" || echo "目錄不存在" 
目錄存在
[root@clsn scripts]# [ 
-d /tmp1 ] && echo "目錄存在" || echo "目錄不存在" 目錄不存在

使用變數的方法進行判斷

dir=/etc1/;[ -d $dir ] && tar zcf etc.tar.gz $dir || echo "$dir目錄不存在"

2.字串判斷

字串測試操作符

-z 判斷字串長度

[root@linux-test-no data]# x=1; [ -z "$x" ] && echo "輸入為空" || echo "輸入有內容"
輸入有內容
[root@linux-test-no data]# x= ; [ -z "
$x" ] && echo "輸入為空" || echo "輸入有內容" 輸入為空

-n判斷字串長度

[root@linux-test-no data]# x=1; [ -n "$x" ] && echo "輸入有內容" || echo "輸入為空"
輸入有內容
[root@linux-test-no data]# x= ; [ -n "$x" ] && echo "輸入有內容" || echo "輸入為空"
輸入為空

"串 1" == " 串 2 " 使用定義變數的方式進行判斷