[解決済み】Bash: 1行でIf/Else文
2022-04-06 23:27:47
質問
あるプロセス(以下、プロセス名とする)が、そのプロセスで使用されているソフトウェアと同じかどうかを確認しようとしています。
some_process
) がサーバー上で実行されていることを示します。もし実行中であれば、echo 1、そうでなければ echo 0。
これは私が使っているコマンドですが、部分的にしか動作しません(詳細は後述します)。スクリプトを一行で書く必要があることに注意してください。
ps aux | grep some_proces[s] > /tmp/test.txt && if [ $? -eq 0 ]; then echo 1; else echo 0; fi
注
は
[s]
で
some_proces[s]
を防ぐためです。
grep
が自分自身を返さないようにする。
もし
some_process
が実行されている場合
"1"
がエコーされるので、それはそれで問題ありません。しかし、もし
some_process
が実行されていない場合は、何もエコーされません。
解決方法は?
を明示的にチェックする必要はありません。
$?
. ただ、そうしてください。
ps aux | grep some_proces[s] > /tmp/test.txt && echo 1 || echo 0
これは、echoが失敗しないことに依存していることに注意してください。 より信頼性の高い書き方としては
if ps aux | grep some_proces[s] > /tmp/test.txt; then echo 1; else echo 0; fi
関連
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Bash prints リテラルの改行をエコーする \n
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】シェルスクリプトで整数式が期待されるエラーが発生する
-
[解決済み] curl: 引数リストが長すぎる
-
[解決済み] cmake execute_process COMMAND [重複]。
-
[解決済み] Curl:応答を待たない[重複]。
-
[解決済み] プロジェクトからすべての .pyc ファイルを削除するにはどうすればよいですか?
-
[解決済み] docker alpine /bin/sh script.sh not found
-
[解決済み] bashスクリプトで変数の束縛を解除
-
[解決済み] nohupプロセスを終了させる方法を教えてください。
-
[解決済み] MINGW64 "make build" エラー。"bash: make: コマンドが見つかりません"
-
[解決済み] Bashスクリプトのset -o pipefailの意味を教えてください。