国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

bash中執(zhí)行比較的幾種方法

這篇具有很好參考價(jià)值的文章主要介紹了bash中執(zhí)行比較的幾種方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

bash 腳本中的 test 命令用于檢查表達(dá)式的有效性,檢查命令或表達(dá)式為 true 或者 false。此外,它還可以用于檢查文件的類型和權(quán)限。

如果命令或表達(dá)式有效,則 test 命令返回0,否則返回1。

使用 test 命令

test 命令的基本語法如下所示:

test “var1” operator “var2”

如果其中用到了變量,需要在變量名中使用雙引號(hào)。

我們看下面的例子,使用 test 命令檢查10是否等于20,以及10是否等于10:

$ test 10 -eq 20 && echo "true" || echo "false"

上面的命令中:

  • test - test 命令

  • 10 - 第一個(gè)變量

  • -eq - 比較運(yùn)算符

  • 20 - 第二個(gè)變量

如果給定的表達(dá)式有效,則執(zhí)行第一個(gè)命令,否則執(zhí)行第二個(gè)命令。

在上述測(cè)試命令中,可以使用方括號(hào) [] 來代替 test 命令。不過有一點(diǎn)需要記住,[ 標(biāo)記和要比較的變量之間需要有空格:

[ 10 -eq 20 ] && echo "true" || echo "false"

bash 比較,bash,服務(wù)器,shell,test,centos

除了整數(shù)以外,也可以在 bash 中使用 test 命令比較字符串,下面我們來看一些例子。

使用 test 命令比較字符串

檢查字符串是否不為空

-n 選項(xiàng)用于檢查字符串長度是否為非零。如果字符串不為空則返回 true,如果字符串為空,則返回 false:

$ [ -n "sam" ] && echo "True" || echo "False"

bash 比較,bash,服務(wù)器,shell,test,centos

檢查字符串是否為空

-z 選項(xiàng)用于檢查字符串長度是否為零。如果字符串長度為零,則返回true,否則返回false:

$ [ -z "sam" ] && echo "True" || echo "False"

檢查字符串是否相等

“=”運(yùn)算符檢查string1是否等于string2。如果兩個(gè)字符串相等,則返回0;如果兩個(gè)字符串不相等,則返回1:

$ [ "sam" = "SAM" ] && echo $? || echo $?

在這里,表達(dá)式略有不同。stdout 變量打印使用 $? 而不是 true 或 false。

檢查字符串是否不相等

!=運(yùn)算符檢查 String1 是否不等于 String2。如果這兩個(gè)字符串不相等,則返回0。如果兩個(gè)字符串相等,則它返回1:

[ "abc" != "ABC" ] && echo $? || echo $?

bash 比較,bash,服務(wù)器,shell,test,centos

test 命令比較整數(shù)

檢查數(shù)字是否相等

-eq 選項(xiàng)檢查兩個(gè)整數(shù)是否相等,如果相等返回0,否則返回1:

[ 10 -eq 20 ] && echo $? || echo $?

檢查數(shù)字是否不相等

-ne 選項(xiàng)檢查兩個(gè)整數(shù)是否不相等,如果不相等返回0,否則返回1:

[ 10 -ne 20 ] && echo $? || echo $?

檢查一個(gè)數(shù)字是否大于等于另一個(gè)

選項(xiàng) -ge 用于檢查整數(shù)1 是否大于等于整數(shù)2,如果是則返回0,否則返回1:

[ 100 -ge 10 ] && echo $? || echo $?

-gt 運(yùn)算符檢查整數(shù)1是否大于整數(shù)2。如果是,則返回0。否則,返回1:

[ 20 -gt 10 ] && echo $? || echo $?

檢查一個(gè)數(shù)字是否小于等于另一個(gè)

-le 運(yùn)算符檢查整數(shù)1是否小于或等于整數(shù)2。如果為真,則返回0,否則返回1:

[ 5 -le 10 ] && echo $? || echo $?

-lt 運(yùn)算符檢查整數(shù)1是否小于整數(shù)2。如果整數(shù)1小于整數(shù)2,則返回0,否則返回1:

[ 5 -lt 10 ] && echo $? || echo $?

bash 比較,bash,服務(wù)器,shell,test,centos

test 命令與文件和目錄操作

test 命令還可用于文件和目錄,下面我們來看幾個(gè)例子。

下面的命令用于檢查文件對(duì)于當(dāng)前用戶是否可執(zhí)行,如果可執(zhí)行,返回0,否則返回1:

[ test -x filename ] && echo executable || echo non-executable

也可以相同的方式檢查文件的其他權(quán)限,比如 r 和 w。在此可使用的其他常用參數(shù)包括:



命令 描述
-e 目錄/文件是否存在
-f 是否為文件
-d 是否為目錄
-s 文件大小是否大于0
-L 是否為符號(hào)鏈接
-S 是否為套接字(socket)

在 bash 腳本中使用 test 命令

上面的例子我們是使用的一行代碼做的演示,除此以外,我們還可以在 bash 腳本中使用 test 命令以及 if else 分支條件。

下面我們來看一個(gè)簡單的例子,傳遞參數(shù)用于比較兩個(gè)數(shù)字:

#!/bin/bash

大家可以執(zhí)行一下,看看結(jié)果,如下圖所示:

bash 比較,bash,服務(wù)器,shell,test,centos文章來源地址http://www.zghlxwxcb.cn/news/detail-731302.html

到了這里,關(guān)于bash中執(zhí)行比較的幾種方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 限制登錄Linux服務(wù)器的幾種方式

    限制登錄Linux服務(wù)器的幾種方式

    在日常運(yùn)維中,我們通常使用防火墻iptables跟firewalld的方式來實(shí)現(xiàn)訪問控制,但在實(shí)際環(huán)境中,開啟防火墻可能會(huì)對(duì)業(yè)務(wù)造成影響,所以以下整理了三種限制登錄Linux服務(wù)器的幾種方式。分別是修改TCP Wrappers服務(wù)訪問控制、修改sshd_config配置文件、防火墻策略iptables跟firewalld。

    2024年02月17日
    瀏覽(25)
  • 常用的幾種服務(wù)器端口轉(zhuǎn)發(fā)實(shí)現(xiàn)方式

    Windows和Linux服務(wù)器上實(shí)現(xiàn)端口轉(zhuǎn)發(fā)的幾種常用方式: 硬件路由器轉(zhuǎn)發(fā):這個(gè)是2種系統(tǒng)都可以使用的方式。可以通過在硬件路由器上設(shè)置端口轉(zhuǎn)發(fā)規(guī)則,將外部請(qǐng)求轉(zhuǎn)發(fā)到內(nèi)部服務(wù)器的指定端口上。 以下為Linux系統(tǒng)實(shí)現(xiàn)端口轉(zhuǎn)發(fā)的幾種方式: iptables命令實(shí)現(xiàn)端口轉(zhuǎn)發(fā):iptable

    2024年02月09日
    瀏覽(22)
  • MacBook 往服務(wù)器上傳、下載文件的幾種操作

    MacBook 往服務(wù)器上傳、下載文件的幾種操作

    往服務(wù)器傳文件、下載文件有很多種方法,可以使用scp、rsync或者rs/sz MacBook上的rz和sz 配置起來比較麻煩 這里就不說了 另外 研發(fā)和測(cè)試同學(xué)可能對(duì)于scp命令和rsync命令并不了解 這里也不說了 這里直說兩種圖形化界面的工具 通過jumpserver登錄服務(wù)器后 可以簡單快速實(shí)現(xiàn)上傳和

    2024年02月16日
    瀏覽(27)
  • MySQL客戶端和服務(wù)器進(jìn)程通信的幾種方式

    真實(shí)環(huán)境中,數(shù)據(jù)庫服務(wù)器進(jìn)程和客戶端進(jìn)程可能運(yùn)行在不同的主機(jī)中,它們之間必須通過網(wǎng)絡(luò)來進(jìn)行通訊。MySQL采用TCP作為服務(wù)器和客戶端之間的網(wǎng)絡(luò)通信協(xié)議。在網(wǎng)絡(luò)環(huán)境下,每臺(tái)計(jì)算機(jī)都有一個(gè)唯一的IP地址,如果某個(gè)進(jìn)程有需要采用TCP協(xié)議進(jìn)行網(wǎng)絡(luò)通信方面的需求,可

    2024年04月24日
    瀏覽(26)
  • axios 多個(gè)baseURL配置、實(shí)現(xiàn)不同前綴代理到不同的服務(wù)器的幾種方式

    前言: 在開發(fā)中,有可能遇到每部分的功能的需要調(diào)用另一臺(tái)服務(wù)器的地址。這個(gè)時(shí)候就需要設(shè)置不同的請(qǐng)求前綴首先代理到不同的服務(wù)器地址。 一、axios封裝實(shí)例以及代理:(不是完整的封裝實(shí)例,重點(diǎn)在于baseURL的區(qū)別) 文件路徑:/CMDB/src/utils/request.js 代理的時(shí)候有兩個(gè)前

    2024年02月04日
    瀏覽(23)
  • java比較日期大小的幾種方法

    1. Date.compareTo() java.util.Date提供了在Java中比較兩個(gè)日期的經(jīng)典方法compareTo()。 如果兩個(gè)日期相等,則返回值為0。 如果Date在date參數(shù)之后,則返回值大于0。 如果Date在date參數(shù)之前,則返回值小于0。 @Test void testDateCompare() throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat(\\\"yyyy

    2024年02月03日
    瀏覽(19)
  • Android開發(fā):RecyclerView獲取item位置的幾種方法比較

    ????????當(dāng)使用 RecyclerView 來展示列表數(shù)據(jù)時(shí),獲取 item 的位置是一個(gè)常見的需求。RecyclerView 提供了多種獲取 item 位置的方法,包括 getAdapterPosition() 、 getBindingAdapterPosition() 、 getAbsoluteAdapterPosition() 等等。這些方法的實(shí)現(xiàn)原理和返回值有所不同,因此在實(shí)際使用時(shí)需要根據(jù)

    2023年04月20日
    瀏覽(100)
  • Unity——延時(shí)執(zhí)行的幾種方法

    延時(shí)執(zhí)行的函數(shù),可以自己設(shè)定延時(shí)要執(zhí)行的函數(shù)和具體延時(shí)的時(shí)間,是Monobehaviour基類中實(shí)現(xiàn)好的方法 在Update等刷新函數(shù)內(nèi)計(jì)時(shí),timer += Time.deltaTime 當(dāng)時(shí)間達(dá)到預(yù)期,執(zhí)行需要延時(shí)的方法。需要注意的是,增量時(shí)間Time.deltaTime是每幀都不同的浮點(diǎn)數(shù)。計(jì)時(shí)器不能用 == 去判斷

    2024年02月11日
    瀏覽(23)
  • 【Android】之【延時(shí)執(zhí)行的幾種方法】

    在Android日常開發(fā)中我們經(jīng)常會(huì)有延時(shí)執(zhí)行某個(gè)操作的需求,例如我們啟動(dòng)應(yīng)用的時(shí)候,開始呈現(xiàn)一個(gè)引導(dǎo)頁面,過了兩三秒后,自動(dòng)跳轉(zhuǎn)到主界面;又如為了控制時(shí)序,需要延時(shí)執(zhí)行等等。 下面整理下實(shí)現(xiàn)延時(shí)執(zhí)行操作的幾種方法: 推薦使用這種方式 適合需要一直在后臺(tái)運(yùn)

    2024年02月11日
    瀏覽(15)
  • [FOC-Stm32]設(shè)置PWM占空比(比較值)的幾種方法

    [FOC-Stm32]設(shè)置PWM占空比(比較值)的幾種方法

    近期博主在閱讀一些基于STM32的FOC代碼中,對(duì)PWM占空比的設(shè)置問題很感興趣,于是找了分別拿出來做了一下對(duì)比,來看看都是怎么來調(diào)整PWM輸出的。 下圖給出了PWM占空比調(diào)整的原理,在定時(shí)器循環(huán)中,有兩個(gè)量:ARR 重裝載值和 CCR 比較值。定時(shí)器內(nèi)的計(jì)數(shù)器從0到ARR循環(huán)記錄數(shù)

    2024年02月15日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包