[解決済み] bashのif/else文の中でファイルgrep比較を使用するにはどうすればよいですか?
2022-05-17 03:54:57
質問
サーバが起動したとき、サーバがどのように構成されているかを確認するために、あるファイルをチェックする必要があります。
私たちは、/etc/aws/hosts.conf ファイル内の次の文字列を検索したいと思います。
MYSQL_ROLE=master
次に、その文字列が存在するかどうかをテストし、文字列が存在するかどうかによって2つのオプションのいずれかを実行するために、if/else文を使用したいと思います。
if文のBASH構文はどのようなものですか?
if [ ????? ]; then
#do one thing
else
#do another thing
fi
どのように解決するのですか?
から
grep --help
を参照してください。
man grep
:
終了ステータスは、何らかの行が選択された場合は0、それ以外は1です。 何らかのエラーが発生し、-q が与えられなかった場合、終了ステータスは 2 となります。
if grep --quiet MYSQL_ROLE=master /etc/aws/hosts.conf; then
echo exists
else
echo not found
fi
もっと具体的な正規表現を使いたい場合もあるでしょう。
^MYSQL_ROLE=master$
のような、より具体的な正規表現を使用して、コメントや単に "master" で始まる名前などにこの文字列が含まれないようにすることもできます。
これは もし はコマンドを受け取って実行し、そのコマンドの戻り値を使用して、ゼロは真、ゼロ以外は偽を意味し、どのように処理を進めるかを決定するからです。
関連
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで文字列をデリミターで分割するには?
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] Bashで変数が設定されているかどうかを確認する方法は?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】 '\r': コマンドが見つかりません - .bashrc / .bash_profile [重複].
-
[解決済み】 -bash: 予期しないトークン「改行」付近での構文エラー
-
[解決済み] Bashでの動的な変数名
-
[解決済み] systemd サービス 203/EXEC の失敗 (そのようなファイルやディレクトリがない) を修正する。
-
[解決済み] Bash/Terminalで複数行の環境変数を書き出す方法 例: RSA秘密鍵
-
[解決済み] ConcatenationとAppendの違いについて【終了しました
-
解決策:bash: /root/.bashrc: パーミッションが拒否されました
-
[解決済み] Bash - "fi ;;" の使い方は?
-
[解決済み] ターミナルでbashスクリプトを実行するにはどうすればよいですか?
-
[解決済み] bashの"-ne "はどういう意味ですか?