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

在 bash 腳本中如何檢查一個字符串是否包含另一個字符串

系統 Linux
在 bash 腳本中,有不止一種檢查子字符串的方法,我們今天介紹一些簡單的例子,然后在分享一個常用的 bash 腳本。

我們在寫 bash 腳本的時候,假如有一個字符串,我們想檢查其中是否包含另一個子字符串,那這個時候需要怎樣做呢?

在 bash 腳本中,有不止一種檢查子字符串的方法,我們今天介紹一些簡單的例子,然后在分享一個常用的 bash 腳本。

使用if-else語句檢查bash中的子字符串

如果您熟悉bash中的條件語句,可以使用它以以下方式檢查字符串是否包含子字符串:

if [[ $fullstring == *"$substr"* ]];

一個簡單的例子

上面的腳本中使用了雙括號,這是有必要的,它是一種原生的方式,因為它沒有使用任何其他工具。下面我們舉個例子來對上面的腳本做一下解釋。

使用長字符串初始化變量:

$ fullstring="This is a string with a stretch"

然后,將字符串“stretch”存儲在變量 substr 中:

$ substr="stretch"

再然后進行字符串比較:

$ if [[ $fullstring == *"$substr"* ]]; then

這里的星號 * 表示零個或多個字符。大家應該熟悉 bash 腳本中引號的概念,引號內的 $substr 將其替換為真實的值。

基本上,上述腳本是檢查完整的字符串是否與 xxxxxxsubstrxxxxxx 類型的字符串匹配。

另外,也可以直接使用子字符串,而不是通過變量:

$ if [[ $fullstring == "stretch" ]]; then

下面我們使用 else 語句完成這個腳本,如果找不到子字符串,該語句將顯示另一條消息:

#!/bin/bash
fullstring="This is a string with a stretch"
substr="stretch"
if [[ $fullstring == *"$substr"* ]]; then
echo "Found $substr!"
else
echo "$substr not found!"
fi

運行上述腳本,將會找到子字符串:

$ bash ??substr.sh??
Found stretch!

另一個例子

子字符串在腳本中非常有助于與用戶交互。使用 read 命令可以讓 bash 腳本接受用戶的輸入。

echo "Hey there..what is your name?"
read Name
echo "Hello "$name"! The Matrix Resurrections trailer is here! Is your pill Red or Blue?"
read Pill
if [[ $Pill == "Red" || Name"!"
echo "Welcome..to the real world "$Name"!"
else
echo "Wake Up "$Name"!"
fi

授予它可執行權限并執行腳本:

$ chmod +x ??makeyourchoice.sh??
$ ./makeyourchoice.sh

其輸出如下所示:

Hey there..what is your name?
avimanyu
Hello avimanyu! The Matrix Resurrections trailer is here! Is your pill Red or Blue?
I have Red pill
Welcome..to the real world avimanyu!

在上面的腳本中,我們使用 if 語句以考慮兩種可能性(區分大小寫)。Red 是一種可能的輸入,但是 red(小寫)也是一種可能性,所以我們添加了另一個條件,|| 表示 “或”,如果輸入為 Red,則它是一個子字符串。即使 red(小寫)不是用戶輸入,我們也需要 在腳本中添加上它。

使用 grep 命令 在 bash 中查找子字符串

這是在bash中查找字符串中的子字符串的另一種方法。按以下方式使用grep命令:

if grep -q "$substr" <<< "$fullstring"; then echo "Found"; fi

選項 -q 表示 grep 將處于安靜模式(quiet mode),不顯示任何輸出。另外需要注意,有 3 個 <,而不是 2 個。

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

2023-04-25 15:46:51

Python字符串

2020-09-18 14:23:50

字符

2019-12-16 09:26:05

Java設計操作系統

2022-12-08 15:55:52

JavaScript字符串

2019-01-08 09:23:16

Java字符串編碼

2010-10-09 13:41:42

MySQL字符串

2021-07-26 10:58:07

Chromebook谷歌更新

2020-10-14 06:18:20

Golang字符串數組

2009-08-12 11:24:25

C# String對象

2009-11-16 17:59:13

PHP數組轉字符串

2023-06-01 07:49:51

2020-09-07 07:35:03

Grep命令字符串

2020-11-03 18:36:37

面試字符串算法

2023-05-05 08:41:16

SQL字符函數

2021-12-03 08:50:25

LeetCode正則表達式算法

2009-11-27 13:14:07

PHP函數strist

2022-11-25 07:53:26

bash腳本字符串

2009-12-04 18:05:05

PHP stristr

2010-09-26 13:51:48

SQL游標

2020-06-28 14:18:23

Python代碼開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品中文字幕 | 天天综合久久 | 玖玖综合在线 | 国产精品视频网 | 激情综合五月 | 亚洲午夜精品 | av超碰| 日本三级网址 | 国产精品久久精品 | 国产中文字幕在线 | 中文字幕视频在线看5 | 懂色av蜜桃av | 欧美日韩国产高清 | 特级做a爰片毛片免费看108 | 成人超碰 | 国产综合一区二区 | 天天拍夜夜爽 | 精品欧美一区二区三区免费观看 | 黄视频免费在线 | 99久久精品免费看国产四区 | 成人黄色av网站 | 日日爱夜夜操 | a级大毛片 | 五月天婷婷狠狠 | 伊人一区| 免费艹逼视频 | 日韩国产一区二区 | 国产精品一区在线观看 | www.一区二区三区.com | 精品一区二区三区在线观看 | 久久久一 | 激情视频网站 | 国产一区二区视频免费在线观看 | 在线播放国产一区二区三区 | 国产激情偷乱视频一区二区三区 | 日韩欧美一区二区三区免费观看 | 国产精品视频500部 a久久 | 国产区在线观看 | 一区二区三区视频免费看 | 欧美高清一级片 | 国产高清在线精品 |