shell中判斷變數值是否存在在list中!!!

2021-09-08 16:10:00 字數 478 閱讀 3053

一般在shell中判斷值是否存在乙個列表中時我們會第一想到case,比如這樣:

abc()

abb()

case $1 in

abc)

abc;;

abb)

abb;;

*)echo "error"

;;esac

case語句這樣去執行還不如直接外部傳入值裡面直接執行$1...,case還是比較適用於互動指令碼。

for的話遍歷實現,效果更慘。

所以找到這個語法實現:

var=$1

abc()

abb()

list_name="abc abb" ###定義list

if [[ "$list_name" =~ "$var" ]]

then

$fi

這樣傳進來的值,直接全部去list裡判斷。

shell預設變數值

shell預設變數 a b a和b變數中的var變數如果為空,則用string來替換var變數,否則變數var不為空,則用var來代替string,不同的是當變數var為空的時候,不但用string替換 也會把string賦值給變數var 和 效果是一樣的 下面看個案例 vim t1.sh var1...

怎樣向awk中傳入shell變數值

假設當前目錄下有a.log b.log二個檔案,利用awk列印出其檔名,指令碼如下 bin bash for file in log doawk beginend file done 在這裡最讓人混淆的是單引號和雙引號 我們可以利用bash x test.sh來執行指令碼,其會將指令碼中的shell...

shell 之 read命令 讀取變數值

從就鍵盤讀取變數的值,通常用在shell指令碼中與使用者進行互動的場合。該命令可以一次讀取多個變數的值,變數和輸入的值都需要使用空格隔開。在read命令後面,如果沒有指定變數名,讀取的資料將被自動賦值給特定的變數reply 引數意義 作用 s隱藏使用者鍵入的值 p列印提示資訊來提示使用者輸入正確的內...