成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在 bash 腳本中使用 test 命令

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

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

使用 test 命令

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

test “var1” operator “var2”

如果其中用到了變量,需要在變量名中使用雙引號。 我們看下面的例子,使用 test 命令檢查10是否等于20,以及10是否等于10:

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

上面的命令中:

  • test - test 命令
  • 10 - 第一個變量
  • -eq - 比較運算符
  • 20 - 第二個變量

如果給定的表達式有效,則執行第一個命令,否則執行第二個命令。 在上述測試命令中,可以使用方括號 [] 來代替 test 命令。不過有一點需要記住,[ 標記和要比較的變量之間需要有空格:

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

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

使用 test 命令比較字符串

檢查字符串是否不為空

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

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

檢查字符串是否為空

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

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

檢查字符串是否相等

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

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

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

檢查字符串是否不相等

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

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

test 命令比較整數

檢查數字是否相等

-eq 選項檢查兩個整數是否相等,如果相等返回0,否則返回1:

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

檢查數字是否不相等

-ne 選項檢查兩個整數是否不相等,如果不相等返回0,否則返回1:

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

檢查一個數字是否大于等于另一個

選項 -ge 用于檢查整數1 是否大于等于整數2,如果是則返回0,否則返回1:

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

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

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

檢查一個數字是否小于等于另一個

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

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

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

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

test 命令與文件和目錄操作

test 命令還可用于文件和目錄,下面我們來看幾個例子。 下面的命令用于檢查文件對于當前用戶是否可執行,如果可執行,返回0,否則返回1:

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

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

命令

描述

-e

目錄/文件是否存在

-f

是否為文件

-d

是否為目錄

-s

文件大小是否大于0

-L

是否為符號鏈接

-S

是否為套接字(socket)

在 bash 腳本中使用 test 命令

上面的例子我們是使用的一行代碼做的演示,除此以外,我們還可以在 bash 腳本中使用 test 命令以及 if else 分支條件。 下面我們來看一個簡單的例子,傳遞參數用于比較兩個數字:

#!/bin/bash
## Check if the numbers are equal or not
read -p "Enter the first number: " num1
read -p "Enter the second number: " num2
if test "$num1" -eq "$num2"
then
echo "$num1 is equal to $num2"
else
echo "$num1 is not equal to $num2"
fi

大家可以執行一下,看看結果,如下圖所示:

責任編輯:龐桂玉 來源: TIAP
相關推薦

2022-03-30 09:32:32

BashtestLinux

2020-04-09 10:18:51

Bash循環Linux

2018-05-16 10:32:06

Linux命令find

2018-06-26 09:15:24

Linux命令history

2022-11-18 10:16:26

Linuxwc 命令

2020-10-13 19:04:58

Bash信號捕獲Shell腳本

2022-10-25 09:07:28

Linuxxargs命令

2011-08-23 09:56:52

UnicodeLua

2023-09-14 15:05:33

grep正則表達式

2011-08-25 13:22:40

CEGUILua腳本

2011-08-25 09:55:27

2021-08-30 07:50:42

腳本語言命令行

2014-08-05 11:17:28

Bash腳本測試

2023-10-19 14:52:27

2021-03-14 09:28:24

Linux Shell腳本

2022-12-22 20:47:01

腳本循環結構

2022-10-09 10:18:44

LinuxShell腳本

2020-06-24 15:30:39

Bashhistory命令Linux

2021-01-13 09:40:26

Linuxexport命令

2018-04-28 09:12:42

Linux
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人免费在线 | 91免费版在线 | 日韩精品免费在线观看 | 91av免费看 | 久久精品国产一区二区电影 | 欧美视频二区 | 久久久久久久电影 | 91麻豆精品一区二区三区 | 黑人粗黑大躁护士 | 日韩毛片在线免费观看 | 亚洲九九精品 | 久久国产精品-国产精品 | 国产欧美日韩在线一区 | 欧美极品少妇xxxxⅹ免费视频 | 成年视频在线观看福利资源 | 极品一区 | 国产精品污www在线观看 | 亚洲欧美日韩一区二区 | 国产精品夜间视频香蕉 | 欧美一级片a | 国产良家自拍 | 日韩精品一区二区三区 | 中文字幕综合 | 99精品视频免费观看 | 精品久久久久久亚洲国产800 | 亚洲一区导航 | 国产精品日韩一区二区 | 欧美成人a | 午夜精品久久久久久久久久久久久 | 成人精品一区二区三区 | 中文字幕在线观看 | www.伊人.com | 毛片链接 | 色综合av| 颜色网站在线观看 | 99精品国自产在线 | 国产欧美一区二区三区在线看 | 羞羞视频免费在线 | 亚洲午夜视频 | 一级毛片视频 | 日韩视频一区二区三区 |