linux 使用中括號進行條件判斷
格式
“#”代表空格,不可缺少
- [# param1#op# param2 #]
這種帶比較操作符的形式,op左右必須使用空格隔開.
如 [# “3”==”2” #] 這種缺少空格的寫法會得到結果“true”,當然實際應為”false”.
- 變數的引用應使用雙引號括起來 [# -z “$name” #].
*********************
name="Jim"
[ $name == "Jack" ] #將會變成 [ Jim == "Jack" ], 也就出現錯誤了.
*********************
- 常量應該使用雙引號或單引號括起來 [# ‘1’#==#’10’ #].
- 更好的書寫方式:
****************************
a. 中括號內的每一個元件都用空格隔開(可謂釜底抽薪)
b. 變數都以雙引號括起來
****************************
引數
-b file 若檔案存在且是一個塊特殊檔案,則為真 -c file 若檔案存在且是一個字元特殊檔案,則為真 -d file 若檔案存在且是一個目錄,則為真 -e file 若檔案存在,則為真 -f file 若檔案存在且是一個規則檔案,則為真 -g file 若檔案存在且設定了SGID位的值,則為真 -h file 若檔案存在且為一個符合連結,則為真 -k file 若檔案存在且設定了"sticky"位的值 -p file 若檔案存在且為一已命名管道,則為真 -r file 若檔案存在且可讀,則為真 -s file 若檔案存在且其大小大於零,則為真 -u file 若檔案存在且設定了SUID位,則為真 -w file 若檔案存在且可寫,則為真 -x file 若檔案存在且可執行,則為真 -o file 若檔案存在且被有效使用者ID所擁有,則為真 -z string 若string長度為0,則為真 -n string 若string長度不為0,則為真 string1 = string2 若兩個字串相等,則為真 string1 != string2 若兩個字串不相等,則為真 ********************************************************** 參與比較的數字必須能夠轉化為整數,話說那裡有這個語法的manual? int1 -eq int2 若int1等於int2,則為真 int1 -ne int2 若int1不等於int2,則為真 int1 -lt int2 若int1小於int2,則為真 int1 -le int2 若int1小於等於int2,則為真 int1 -gt int2 若int1大於int2,則為真 int1 -ge int2 若int1大於等於int2,則為真 ********************************************************** ! expr 若expr為假則複合表示式為真。expr可以是任何有效的測試表達式 expr1 -a expr2 若expr1和expr2都為真則整式為真 expr1 -o expr2 若expr1和expr2有一個為真則整式為真
例子
鳥哥,用你個例子,別介意^_^
當用戶輸入Y/y時,輸出”Ok, continue”
當用戶輸入N/n時,輸出”Oh, interrupt!”
使用者輸入其他字元或空時,輸出”I don’t know your command!”
參考scripts
#!/bin/bash #Program # use the judge syntax "[ condition ]" #Author wangdonglei #History # 1. 2012/02/21 first write echo -n "<Y,N>:" read input [ "$input" == 'Y' ] || [ "$input" == 'y' ] && echo "OK, continue" && \ exit 0 [ "$input" == 'N' ] || [ "$input" == 'n' ] && echo "Oh, interrupt !" && \ exit 0 echo "I don't know what your choice is." exit 1
相關推薦
linux 使用中括號進行條件判斷
格式 “#”代表空格,不可缺少 [# param1#op# param2 #] 這種帶比較操作符的形式,op左右必須使用空格隔開. 如 [# “3”==”2” #] 這種缺少空格的寫法會得到結果“true”,當然實際應為”false”. 變數的引用應使用雙引號
linux [] 與 test 命令 進行 條件判斷
以下 摘自 : http://jianlee.ylinux.org/Computer/Shell/shell_test.html 分類參考 檔案狀態測試 -b filename 當filename 存在並且是塊檔案時返回真(返回0) -c filename 當
linux中 shell編程 判斷服務是否運行
else gre inux 運行 pre lin log 服務 body 判斷nginx是否運行中: if ps -ef|grep "nginx"|egrep -v grep >/dev/null then echo ok! els
Linux Shell編程 條件判斷語法
個數 rom local 存在 nbsp 之間 警告 執行權限 不同 if條件判斷語句 單分支 if 條件語句 語法格式: if [條件判斷式];then 程序 fi 或者 if [條件判斷式] then 程序 fi 在使用單分支 if
kettle中Switch/Case條件判斷的使用
今天在做取數過程中遇到了一個問題,就是增量取數,增量取數大部分用到的是根據時間段來抽取資料,然後插入到目標庫,事實中kettle中有個一次提交多少條記錄的問題,今天暫時不討論這個,主要來說說如何根據中間時間表(主要記錄上次取數的開始時間和結束時間),然後去設定取數的時間段。 下面來看一下遇到的問
MATLAB 中跳出if條件判斷
在編寫MATLAB程式過程中,有時會遇到當程式執行到滿足if條件時讓程式跳出,停止執行的情況,在MATLAB中,使用return語句或者空語句實現程式跳出。如果使用return語句,在指令碼檔案會出現小問題,在函式檔案中則會正常執行。區別如下: 【1】使用return語句
運用gameObject.activeSelf對SetActive(bool value)進行條件判斷
運用gameObject.activeSelf對SetActive(bool value)進行條件判斷 using UnityEngine; using UnityEngine.UI; public class ActiveSelfTest : MonoBehaviour { p
Linux shell程式設計——if條件判斷
if 語句格式if 條件then Commandelse Commandfi 別忘了這個結尾If語句忘了結尾fitest.sh: line 14: syntax error: unexpected end of fi
關於sql中的if條件判斷符 並且和或的表達
今天寫sql語句,然後碰到要同時判斷兩個條件的if語句,瞬間想起c#中肯定是if(id>0&&id<40)和 if(id>0||id<40)等的判斷但是sql中這樣寫很顯然會報錯,經過查詢才知道sql中的寫法是if @id>0 a
linux中awk進行日誌文字的處理過濾
對於awk命令的介紹可檢視linux命令大全http://man.linuxde.net/awk linux下日誌分析很常見也很重要,看見那一片如汪洋般的日誌,想死的心都有了,過濾出關鍵日誌,檢視重要資訊,定位分析問題也是必須要掌握的一門技能; 因此
關於mybatis中基本型別條件判斷問題
一:發現問題 sql動態語句中如果 parameterType="int" <select id="sel_campusinfo" parameterType="int" resultType="Campusinfo"> select cmpid,cmp
在sql中新增if條件判斷
[javascript] view plain copy 有時候呢,我們在mapper檔案中的sql新增if條件的時候,如果orm框架是mybatis的話, 可以使用動態s
insert中加入where條件判斷,解決插入重複資料的問題
對於會員註冊,我們經常會做唯一性驗證,通常情況下我們有這兩種方式: 1. 資料庫表設計的時候loginName增加唯一約束 2. 註冊之前先查一下然後再去進行插入操作 針對以上兩種情況,第一種情況,增加約束的話,是最有效的,但如果表結構已經確定了,再修改起
linux的中括號條件判斷式易出現的問題及解決方法
在linux中,[ ]可以作為條件判斷式,結合if [ ];then.....fi使用。 在使用[]時,要注意,其中的每一部分都要用空格分開,中括號的前後都要有空格,if後面,then前面需要加空格! 以下面的程式為例: 1 #!/bin/bash 2 #該程式
linux中 shell 中 if 條件判斷中 -a 到 -z 的意思
[ -a FILE ] 如果 FILE 存在則為真。 [ -b FILE ] 如果 FILE 存在且是一個塊特殊檔案則為真。 [ -c FILE ] 如果 FILE 存在且是一個字特殊檔案則為真。 [ -d FILE ] 如果 FILE 存在且是一個目錄則為真。 [ -e FILE ] 如果 FIL
15、自學——Linux的學習進度與任務【bash編程之條件判斷】
腳本執行 命令替換 返回 引用 任務 邏輯 與運算 腳本編程 num bash編程之條件判斷 bash編程之條件判斷:判定後續操作的前提條件是否滿足 1、條件判斷的常用判斷類型(bash內生的): 整數測試
Shell中條件判斷語法與判斷條件
expression 表達式 字符串 linux 影響 一,簡介Shell各種判斷結構和運算符的用法是shell編程的基礎,了解shell的判斷、運算符和一些退出狀態對後面的學習有很重要的影響。shell有一個內部命令test經常用於對判斷語句進行測試一種或幾種狀態的條件是否成立二. 判斷
linux--shell編程(三)條件判斷及算術運算
寫一個腳本 head bsp 如何 cut inittab 引用 有用 color 練習:寫一個腳本判斷當前系統上是否有用戶的默認shell為bash; 如果有,就顯示有多少個這類用戶;否則,就顯示沒有這類用戶; #!/bin/bash # grep ‘\<ba
Linux中的判斷式
說明 存在 linu linux中 目錄 -a passwd 基於 連接 格式一:test [參數] 判斷內容格式二:[ [參數] 判斷內容 ] 說明: a.格式二可以認為是格式一的縮寫 b.格式二裏中括號和內容之間要有空格 基於文件的判斷-d 判斷文件
Python中的條件判斷
python if 條件判斷# 條件判斷 # 1 print("#1") age = 20 if age >= 18: print(‘your age is‘, age) print(‘adult‘) print("---------------------") # 2 print(