[解決済み] パイプと二重パイプのどちらの OR 演算子を使うか?
2022-02-17 14:03:02
質問
bashスクリプトのコードを見ていると、たまに
|
と、時々
||
しかし、どちらがいいのかわからない。
のようなことをやろうとしています。
set -e;
ret=0 && { which ansible || ret=$?; }
if [[ ${ret} -ne 0 ]]; then
# install ansible here
fi
このシナリオでは、どのOR演算子が好ましいかアドバイスしてください。
どのように解決するのですか?
|
はOR演算子ではありません。あなたは
かもしれない
使用
||
とはいえ。
which ansible || {
true # put your code to install ansible here
}
これは
if
:
if ! which ansible; then
true # put your code to install ansible here
fi
ところで、このように
type
(シェルビルトイン)ではなく
which
(外部コマンド)です。
type
の方が高速で、シェルの挙動をよりよく理解しています。もしあなたが
ansible
コマンドを提供し、例えばシェル関数が本当のコマンドを呼び出すとします。
which
はその存在に気づきませんが
type
は、それが利用可能であることを正しく検出します。
関連
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Bash prints リテラルの改行をエコーする \n
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで文字列をデリミターで分割するには?
-
[解決済み】Bashでファイル名と拡張子を抽出する。
-
[解決済み】bashで1つのコマンドでシェル変数にデフォルト値を割り当てる。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「ambiguous redirect」エラーが発生する
-
[解決済み】shでJenkinsのステージから他のステージに変数を渡す
-
[解決済み】ZIPエラー - 何もできない
-
[解決済み] zip警告 - 名前が一致しない
-
[解決済み] eval "$(docker-machine env default) "とする。
-
[解決済み] openstack の google-chrome-stable ubuntu12 パッケージが見つかりません。
-
[解決済み] bash file returns unexpected token `$'dottpr''
-
[解決済み] IPアドレスのまとめ方
-
[解決済み] MINGW64 "make build" エラー。"bash: make: コマンドが見つかりません"
-
[解決済み] bashスクリプトでset -eはどういう意味ですか?