bash shell 中if的用法

2021-09-11 09:53:16 字數 1411 閱讀 7925

條件判斷的寫法

[ 條件表示式 ]

[[ 條件表示式 ]]

注意這裡在中開始和結尾需要空格,不然執行會出錯

例子

#!/bin/bash

a=0b=1

[ $a -eq $b ]

echo " a不等於b"片

這裡提一下bash shell中一些需要注意的東西

1整數比較

-eq 表示  =

-ne 表示 !=

-gt 表示 >

-lt 表示 <

-ge 表示 >=

-le表示 <=

2命令間的邏輯關係

輯與:&&

第乙個條件為假 第二個條件不用在判斷,結果為假

第乙個條件為真,第二個條件必須得判斷。必須兩個同時為真才為真

邏輯或:||

第乙個條件為假,繼續判斷第二個。只需要有乙個為真,即為真

3符串比較

== 等於  兩邊要有空格

!= 不等

> 大於

< 小於

檔案比較

-z string 測試指定字元是否為空,空著真,非空為假

-n string 測試指定字串是否為不空,空為假 非空為真

-e file 測試檔案是否存在

-f file 測試檔案是否為普通檔案

-d file 測試指定路徑是否為目錄

-r file 測試檔案對當前使用者是否可讀

-w file 測試檔案對當前使用者是否可寫

-x file 測試檔案對當前使用者是都可執行

-z 是否為空 為空則為真

-a 是否不空

bash shell中if的結構語法大體為三類

1

if  [ 條件表示式 ];then

命令fi

if [ 條件表示式 ] ; then

命令else

命令fi

if [ 條件表示式 ]; then

命令elif [ 條件表示式 ]; then

命令else

命令fi

乙個例子

我們這裡有乙個文字我們要判斷這個文字1234裡面是否存在有字母r

#!/bin/bash

#grep "p" ./1234.txt &> 123.txt

a=$?

echo "$a"

if [ $a -eq 0 ]; then

echo "存在字母r "

else

echo "不純在字母r"

fi

Bash Shell中Shift用法分享

這篇文章主要介紹了bash shell中shift的使用方法,需要的朋友可以參考下 shift可以用來向左移動位置引數。shell的名字 0 第乙個引數 1 第二個引數 2 第n個引數 n 所有引數 或 引數個數 shift預設是shift 1 例 輸出文字 開始 bin bash filename...

bash shell中的數學計算

在寫shell指令碼的時候會用到很多的數 算,簡單的乙個游標 1 1,或者更多一點的浮點運算等,shell中數學計算稍麻煩,我想每個人都試過var 1 1 或者var 1這類錯誤。下面對shell中做數學計算小做總結 其他的減乘除類似,要注意乘法中的 號需要做轉義 即可 bc更常用,對運算來說也更好...

十 Linux中bash shell的使用

1.檢視ubuntu系統中可用的shell種類 在 etc shells 這個檔案中 vim etc shells 由上圖可知ubuntu支援的常用的shell種類。不過我們常用是bash shell 2.cat etc passwd 可知系統登入時選擇bash shell作為shell。3.bas...