欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

shell中if test使用詳解

 更新時間:2023年06月08日 10:00:50   作者:獵人在吃肉  
本文主要介紹了shell中if test使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1、數(shù)值

1.1、數(shù)值大小比較

參數(shù)說明
-eq等于則為真
-ne不等于則為真
-gt大于則為真
-ge大于等于則為真
-lt小于則為真
-le小于等于則為真

示例1:

#!/bin/bash
num1=100
num2=200
if test $[num1] -eq $[num2]
then
? ? echo '兩個數(shù)相等!'
else
? ? echo '兩個數(shù)不相等!'
fi

1.2、數(shù)據(jù)值運(yùn)算

示例1:

#!/bin/bash
a=5
b=6
result=$[a+b] # 注意等號兩邊不能有空格
echo "result 為: $result"

2、字符串

2.1、示例1:字符串是否相等

參數(shù)說明
=等于則為真
!=不相等則為真
-z 字符串字符串的長度為零則為真
-n 字符串字符串的長度不為零則為真

注意:字符串比較時,變量最好使用引號,如果變量都不為空,則沒有任何問題,如果變量為空,則會報錯。

示例

#!/bin/bash
num1="ru1noob"
num2="runoob"
if test $num1 = $num2
then
? ? echo '兩個字符串相等!'
else
? ? echo '兩個字符串不相等!'
fi

2.2、示例2:字符串為空

#!/bin/bash
str=""
str2="aaa"
if test -z $str
then
? ? echo '字符str為空!'
else
? ? echo '字符str值不為空'
fi
if test -z $str2
then
? ? echo '字符str2為空!'
else
? ? echo '字符str2值不為空'
fi

3、文件判斷

參數(shù)說明
-e 文件名如果文件存在則為真
-r 文件名如果文件存在且可讀則為真
-w 文件名如果文件存在且可寫則為真
-x 文件名如果文件存在且可執(zhí)行則為真
-s 文件名如果文件存在且至少有一個字符則為真
-d 文件名如果文件存在且為目錄則為真
-f 文件名如果文件存在且為普通文件則為真
-c 文件名如果文件存在且為字符型特殊文件則為真
-b 文件名如果文件存在且為塊特殊文件則為真

示例:

#!/bin/bash
fileName1="/cygdrive/c/Users/admin/Desktop/sh學(xué)習(xí)/demo1-1.sh"
if test -e $fileName1
then
? ? echo '文件已存在!'
else
? ? echo '文件不存在!'
fi

4、邏輯運(yùn)算

參數(shù)說明
-a與,并且
-o
!

其優(yōu)先級為: ! 最高, -a 次之, -o 最低。

示例1:-a 使用

#!/bin/bash
str="aa"
str2="bb"
if test -n "$str" -a -n "$str2"
then
? ? echo 'str 和 str2 都有值!'
else
? ? echo 'str 、 str2 至少有一個為空'
fi

示例2:-a 、-o 使用

登錄時,對用戶名和密碼進(jìn)行驗證:

#!/bin/bash
read -p "請輸入用戶名和密碼:" username pwd
echo "username=$username"
echo "pwd=$pwd"
if test -z "$username" -o -z "$pwd"
then
? ? echo '用戶名和密碼均不能為空'
? ? exit 2
else ? ?
? ? echo '用戶名和密碼 非空驗證通過' ? ?
fi
if test "$username" = "admin" -a "$pwd" = "123"
then
? ? echo '登錄成功'
else
? ? echo '用戶名或密碼不正確'
? ? exit 2
fi

5、if elif else

1)數(shù)值

#!/bin/bash
#提示用戶輸入分?jǐn)?shù)
read -p "請輸入你的分?jǐn)?shù):" score
#進(jìn)行判斷
if [ "$score" -ge 90 -a "$score" -le 100 ]
then
    echo "優(yōu)秀"
elif [ "$score" -ge 80 -a "$score" -lt 90 ]
then
    echo "良好"
elif [ "$score" -ge 70 -a "$score" -lt 80 ]
then
    echo "一般"
elif [ "$score" -ge 60 -a "$score" -lt 70 ]
then
    echo "及格"
else
    echo "西西睡把"
fi

2)文件

#!/bin/bash
#提示用戶輸入
read -p "請輸入內(nèi)容:" con
if [ -z "$con" ]
then
?? ?echo "為空"
elif [ -d "$con" ]
then
?? ?echo "是目錄"
elif [ -f "$con" ]
then
?? ?echo "是文件"
else
?? ?echo "錯誤"
fi

到此這篇關(guān)于shell中if test使用詳解的文章就介紹到這了,更多相關(guān)shell if test內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Shell數(shù)組添加元素及注意事項

    Shell數(shù)組添加元素及注意事項

    這篇文章主要介紹了Shell數(shù)組添加元素及注意事項,向Shell數(shù)組添加元素有多種方法,每種方法在使用時都有一些需要注意的地方,感興趣的就一起來了解一下
    2020-12-12
  • 一個簡單的linux命令 touch

    一個簡單的linux命令 touch

    這篇文章主要介紹了一個簡單的linux命令touch,touch命令用來修改文件時間戳,或者新建一個不存在的文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • CentOS 6.0 啟動時出現(xiàn)fstab錯誤時的修復(fù)方法

    CentOS 6.0 啟動時出現(xiàn)fstab錯誤時的修復(fù)方法

    下面小編就為大家?guī)硪黄狢entOS 6.0 啟動時出現(xiàn)fstab錯誤時的修復(fù)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Linux磁盤管理之LVM詳解及l(fā)vm磁盤操作命令

    Linux磁盤管理之LVM詳解及l(fā)vm磁盤操作命令

    LVM,Logical Volume Manger,是linux內(nèi)核提供的一種邏輯卷管理功能,由內(nèi)核驅(qū)動和應(yīng)用層工具組成,它是在硬盤的分區(qū)基礎(chǔ)上,創(chuàng)建了一個邏輯層,可以非常靈活且非常方便的管理存儲設(shè)備,這篇文章主要介紹了Linux磁盤管理之LVM詳解及l(fā)vm磁盤操作命令,需要的朋友可以參考下
    2023-03-03
  • 隱藏shell腳本內(nèi)容的工具?shc詳解

    隱藏shell腳本內(nèi)容的工具?shc詳解

    本文主要介紹了隱藏shell腳本內(nèi)容的工具?shc,?雖然它加密的安全性不高,但是我們平常可以把它作為一個shell腳本代碼隱藏和混淆工具來使用,對shell腳本隱藏相關(guān)知識感興趣的朋友一起看看吧
    2021-11-11
  • shell腳本批量刪除es索引的方法

    shell腳本批量刪除es索引的方法

    今天小編就為大家分享一篇關(guān)于shell腳本批量刪除es索引的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Shell腳本模擬多線程功能分享

    Shell腳本模擬多線程功能分享

    這篇文章主要介紹了Shell腳本模擬多線程功能分享,本文直接給出實現(xiàn)代碼,代碼中有詳細(xì)的注釋,需要的朋友可以參考下
    2014-11-11
  • 詳解Shell cut用法

    詳解Shell cut用法

    cut是一個選取命令,就是將一段數(shù)據(jù)經(jīng)過分析,取出我們想要的。一般來說,選取信息通常是針對“行”來進(jìn)行分析的,并不是整篇信息分析的。本文重點給大家介紹Shell cut用法,感興趣的朋友一起看看吧
    2017-10-10
  • shell腳本編程Makefile的使用

    shell腳本編程Makefile的使用

    本文主要介紹了shell腳本編程Makefile的使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • linux重啟和關(guān)閉系統(tǒng)命令的寫法

    linux重啟和關(guān)閉系統(tǒng)命令的寫法

    這篇文章給大家介紹了linux重啟和關(guān)閉系統(tǒng)命令的寫法,然后在文中給大家分享了linux五個重啟命令,感興趣的朋友一起看看吧
    2017-10-10

最新評論