配列に文字列が存在するかどうかを判定するシェルサンプル実装
2022-02-08 06:44:54
構文形式です。
[[ "${array[@]}" =~ "string" ]]
例
#! /bin/sh
##Array
array=(
address
base
cart
company
store
)
# $1 if exists, output $1 exists, $1 if not, output $1 not exists
if [ "$1" ! = null ];then
if [[ "${array[@]}" =~ "${1}" ]]; then
echo "$1 exists"
elif [[ ! "${array[@]}" =~ "${1}" ]]; then
echo "$1 not exists"
fi
else
echo "Please pass an argument"
fi
エクステンションです。
こうすることで、ある文字列が配列に存在するかどうかだけでなく、テキストに存在するかどうかも判断することができます。
## Determine if a string exists in the text
#! /bin/sh
names="This is a computer , I am playing games in the computer"
if [[ "${names[@]}" =~ "playing" ]]; then
echo 'String exists'
fi
シェルは文字列を配列に分離する
#! /bin/bash
a="hello,world,nice,to,meet,you"
# To split $a, store the old separator first
OLD_IFS="$IFS"
#set the separator
IFS=","
#The following will automatically separate
arr=($a)
#Restore the original separator
IFS="$OLD_IFS"
#Iterate through the array
for s in ${arr[@]}
do
echo "$s"
done
変数 $IFS にはセパレータが格納されており、ここではカンマ "," に設定しています。OLD_IFS は、デフォルトのセパレータをバックアップし、使用後にデフォルトに戻すために使用されます。
arr=($a) は、文字列 $a を IFS のセパレータで配列 $arr に分割するために使用します。
${arr[0]} ${arr[1]} ・・・。分割された配列1 2 ...をそれぞれ格納する。 項目
配列全体を格納する${arr[@]}。
${!arr[@]} にはインデックス値全体が格納されます: 1 2 3 4 ...
${#arr[@]} 配列の長さを取得します。
配列に文字列が存在するかどうかを判断するシェルの記事はこれで全てです。配列に文字列が存在するかどうかを判断するシェルについての詳しい情報は、過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。
関連
-
シェルにおける括弧、中括弧、中括弧の違いについて
-
シェルスクリプトによる複数インスタンスでのnginxのデプロイメントの詳細チュートリアル
-
rm -rfの後にディスク領域が解放されない問題の解決方法
-
シェルプログラミング。変数の高度な使い方
-
Linuxシステム診断 - メモリの基礎知識 徹底解説
-
シェルの終了ステータスの使用
-
詳細な手順でフォーマットされたディスクを素早く作成するシェルスクリプト
-
LinuxのシェルスクリプトでローカルのIPアドレスを取得する方法
-
Bashのトリック:変数を改行に割り当てる(ファイルが改行で終わっているかどうかを判断するため)
-
Linuxで科学的記数法(e)を数値に変換する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
rm -rf / vs rm -rf /* rmの代わりにmvを使用することを推奨
-
シェルバッチファイルの作成とリネームのサンプルコード
-
Shellのif else文の具体的な使い方を解説
-
Linux で jar パッケージを起動するためのカスタムシェルスクリプト
-
シェルでのsetコマンドの使い方を説明します
-
シェルでスクリプトのパラメータを渡す2つの方法について説明します。
-
ワンクリックでgithubとgiteeに同時にコードをプッシュするシェルスクリプトの解決法
-
XshellとXftpの無料ダウンロードとインストールと手順(グラフィック)
-
よく使うシェルコマンドとTips(推奨)
-
シェルでコマンドにエイリアスを設定する方法 alias