1. 程式人生 > >2018-4-18 Linux學習筆記

2018-4-18 Linux學習筆記

20.5 shell腳本中的邏輯判斷 20.6 文件目錄屬性判斷 20.7 if特殊用法 20.8/20.9 case判斷

20.5 shell腳本中的邏輯判斷

格式1:if 條件 ; then 語句; fi

格式2:if 條件; then 語句; else 語句; fi

格式3:if …; then … ;elif …; then …; else …; fi

邏輯判斷表達式:
if [ $a -gt $b ];
if [ $a -lt 5 ];
if [ $b -eq 10 ]
-gt (>); -lt(<); -ge(>=); -le(<=);-eq(==); -ne(!=) 註意到處都是空格

可以使用 && || 結合多個條件

if [ $a -gt 5 ] && [ $a -lt 10 ]; then

if [ $b -gt 5 ] || [ $b -lt 3 ]; then

20.6 文件目錄屬性判斷

[ -f file ]判斷是否是普通文件,且存在

[ -d file ] 判斷是否是目錄,且存在

[ -e file ] 判斷文件或目錄是否存在

[ -r file ] 判斷文件是否可讀

[ -w file ] 判斷文件是否可寫

[ -x file ] 判斷文件是否可執行

20.7 if特殊用法

if [ -z "$a" ] 這個表示當變量a的值為空時會怎麽樣

if [ -n "$a" ] 表示當變量a的值不為空

if grep -q ‘123‘ 1.txt; then 表示如果1.txt中含有‘123‘的行時會怎麽樣

if [ ! -e file ]; then 表示文件不存在時會怎麽樣
if (($a\<1)); then …等同於 if [ $a -lt 1 ]; then…
[ ] 中不能使用<,>,==,!=,>=,<=這樣的符號

20.8/20.9 case判斷

格式 case 變量名 in
value1
command
;;
value2)
command
;;
*)
commond
;;
esac
在case程序中,可以在條件中使用|,表示或的意思, 比如
2|3)
command
;;

2018-4-18 Linux學習筆記