linux5月30課筆記
阿新 • • 發佈:2018-06-05
linux 筆記 5月30日課筆記
20.5 shell腳本中的邏輯判斷
20.6 文件目錄屬性判斷
20.7 if特殊用法
20.8/20.9 case判斷
20.5 shell腳本中的邏輯判斷
20.6 文件目錄屬性判斷
20.7 if特殊用法
20.8/20.9 case判斷
20.5 shell腳本中的邏輯判斷
在工作中,不用寫腳本,可以寫一條命
可以不用寫shell腳本,可以用一條命令代替。
也可以這樣寫,效果一樣
寫多條命令
寫一個腳本
把命令放到腳本裏,格式化一下。
20.6 文件目錄屬性判斷
判斷是不是一個文件
判斷文件是不是目錄
判斷文件是不是目錄或文件?
判斷文件是否可讀
判斷文件是否可寫,
判斷的是當前用戶的權限。
判斷是否可以執行
因為不可執行,所以沒有任何輸出,也沒有定義else
以上是文件和目錄常用的方法。
以下用的比較多的寫法
第3行等於第3行下面4行,&&的意思是當前面的命令執行成功後,才會執行後面的命令。如果不想寫4行,可以直接用上面的命令。
||的意思,前面的命令執行不成功過,才執行後面的命令。
判斷文件如果文件不存在
20.7 if特殊用法
n=wc -l /tmp/lalal
是列出/tmp/lalal的行數,如果/tmp/lalal不小心被刪了,的值是空,就會出現問題。
如果腳本出現問題,那麽會影響到整個項目。為了使腳本更嚴謹。
如果為空的寫法
簡化,加上exit,寫為如下:
上個腳本是邏輯錯誤,產生了一個空的值,然後去比較。下面腳本只是一個命令有錯,不是腳本有錯。
if[-z“$n"]和if[-n"$n"]比較特殊,有一個必須加一個雙引號,才能生效。為了不搞混,在使用-z和-n的時候,都加“”
可以寫得更嚴謹。! - f /tmp/lalal 是指不文件存在。
判斷文件不為空,不用加雙引號。
判斷變量不為空,要加雙引號
grep -w 可以精準過濾,grep -wq可以過濾出來,但是不輸出。
grepuseradd user1 不會生效,所以不會輸出。
20.8case判斷(上)
20.9 case判斷(下)
linux5月30課筆記