1. 程式人生 > >指令碼中 if 判斷細節

指令碼中 if 判斷細節

if [[ $1 == "fedora" ]];then
      echo "redhat"
elif [[ $1 == "redhat" ]];then
       echo "fedora"
else
      echo '/root/foo.sh redhat | fedora'
      exit 1
fi

case $1 in
        redhat)
                echo fedora
                ;;
        fedora)
                echo redhat
                ;;
        *)
                echo '/root/foo.sh redhat | fedora'
                ;;
esac

-eq 是做數值比較, == 是做字串比較

if [ ] 是 POSIX 相容版寫法
if [[ ]] 是 bash zsh 支援的升級版

[ -L "$file" ] && [ -f "$file" ]
[[ -L $file && -f $file ]]

工作中 if 判斷用 [[ ]] 和 == 來做是沒問題的,相關細節如上

相關推薦

指令碼 if 判斷細節

if [[ $1 == "fedora" ]];then echo "redhat" elif [[ $1 == "redhat" ]];then echo "fedora" else echo '/root/foo.sh redhat | fedora'

shellif判斷語句

file true pan rep then 好的 test 遇到 col if 條件測試類型: 文件測試, 數字測試, 字符串測試 if 語句結構: if ... ; then ....; fi if ... ; then ... ; else ... ; fi

mybatis 使用xmlif判斷時出現的問題

在用mybatis 時 用if判斷總是遇到各種的坑,時間長了就忘了,在這裡記錄一下 if在判斷 用數值型別和空字串進行比較 如 integer != “”; 這裡就會出現 當integer =0 的時候,這個判斷就不是成立的,導致欄位等於0的時候無法插入 如圖: 這裡的amountPay

mybatisif判斷無效的問題

常規寫法: <if test="type=='y'"> and status = 0 </if> mybatis是使用的OGNL表示式來進行解析的,在OGNL的表示式中,’y’會被解析成字元,因為java是強型別

mybatisif判斷把整數0識別為false(深坑)

1先看mybatis配置檔案<select id="listByParam" resultMap="orderSettlePartnerResultMap" parameterType="com.jd.ept.settlement.domain.settle.Ord

mybatisif判斷

<if test="type >= 0"> type = #{type} </if> 如果這麼寫 不管type是否傳進來值     type都有預設值 0 正確的寫法應該是 <if test="type != null">

mybatis if判斷字串相等

<if test=" ids == 1 "> or <if test=" ids == '1'"> 都不行 最後百度到 如下寫法 <if test=" ids == '1'.toString() "> 成功

thinkphp模板if判斷沒有反應,原來是陣列訪問方式引起的

在thinkphp中像下面這樣訪問陣列使用If語句發現沒有反應 <if condition="($data[0].article_res eq 0)">原創 <elseif co

linux指令碼if引數含義

最近在看android中編譯的指令碼,if許多引數含義搞不明白,轉載了一份挺不錯的文章。  無論什麼程式設計語言都離不開條件判斷。SHELL也不例外。       if list then           do something here       elif li

shellif判斷資料夾或檔案是否存在!

if比較的字元用法: 1 2 3 4 5 6 7 8 9 10 11 12 13 -e 判斷物件是否存在 -d 判斷物件是否存在,並且為目錄

Mybatis動態sql條件查詢if判斷Integer的條件寫法

在使用SSM的過程中,前臺序列化表單得到json物件並使用ajax傳到後臺中: var data = $("#selectInspect").serialize(); $.getJSON("selectInspectPlan.do?t="+new Date().getTim

shell編程學習筆記(八):Shellif判斷的使用

空格 score 相等 span shell編程 str2 != color font 一、if的語法: 1、單分支語句結構 if [ 條件表達式 ]; then 指令 fi 2、雙分支語句結構 if [ 條件表達式 ]; then

Shell指令碼的邏輯判斷、檔案目錄屬性判斷if特殊用法 、 case判斷

Shell指令碼中的邏輯判斷在shell腳本當中很多地方都會用到邏輯判斷,判斷某一個數值,判斷某個目錄或檔案,然後針對判斷的結果再做一個操作,若沒有判斷,是無法進行一些操作的. 例如cp一些檔案,或者MV,或是刪除某個檔案,沒有判斷,寫這些命令就沒什麼意義,也就不叫作shel

shell指令碼的邏輯判斷 檔案目錄屬性判斷 if特殊用法 case判斷

1,shell指令碼中的邏輯判斷。語法如下: 格式1:if 條件 ; then 語句; fi 格式2:if 條件; then 語句; else 語句; fi 格式3:if …; then … ;elif …; then …; else …; fi 邏輯判斷表示式:if [ $

關於Web前端 編程時流程控制的流程控制圖和 if 判斷及九九乘法表

參考 偶數 bsp web -c 書寫方式 形狀 出現一次 多次 本次分享首先是流種植控制圖的一些理論知識: 一、流程圖:使用標準化的圖形方案,分析某個功能的實現步驟(標準化:流程圖規定的形狀) 二、接下來說一下 if 判斷一些知識點 1、在if判斷中如果某個分支中的代

thinkphp volist標簽if判斷的寫法

離線 標簽 condition key thinkphp val string stat var <if condition="$vo[‘devstatus‘] eq 1">在線<else /> 離線</if> IF標簽用法 <

Python的流程控制--if判斷語句

python中的流程控制--if判斷語句1.if 用法舉例: if語句寫法: if expression: statement(s) 註:python使用縮進作為其語句分組的方法,建議使用4個空格。(1)條件為真true (非空的量(string,tuple,list ,set,dic

VUE以v開頭的代碼和if判斷

註釋 bin log 變量名 不存在 返回 如果 雙向 簡單的 v-model="變量名"            雙向數據綁定一個變量,基本用在input裏獲取用戶輸入的內容v-bind:class="變量名"huo :class="變量名" 雙向數據綁定一個

pythonif else流程判斷

if else elif 1、python中實現密碼密文輸入 #!/usr/bin/env python import getpass #調用getpass模塊就能實現密碼密文顯示 username=input("username:") userpasswd=getpass.getpass("

js哪些值在if判斷是false

哪些是false1:02:false3:null4:undefined5:''或者"" // 空字符串6:NaN以上幾種值在做if判斷時,返回的都是false。那麽其他的值在做if判斷時,返回的都是true。js中哪些值在if判斷是false