[解決済み] オプションの入力引数を取るbashスクリプトを書くには?
2022-03-15 20:03:20
質問
スクリプトにオプションの入力を受け付けるようにしたいのですが。
例)現在、私のスクリプトは
#!/bin/bash
somecommand foo
と書いてほしいのですが。
#!/bin/bash
somecommand [ if $1 exists, $1, else, foo ]
解決方法は?
default-value構文を使えばいいんだよ。
somecommand ${1:-foo}
で説明したように、上記の意志は Bash リファレンスマニュアル - 3.5.3 シェルパラメータの展開 [強調]:
パラメータが未設定の場合 またはNULL の場合、単語の展開が代入される。そうでなければ,パラメータの値が代入される。
パラメータが設定されていない場合にのみデフォルト値を代入したい場合(ただし、NULLの場合、例えば空文字列の場合は代入しない)、代わりに次の構文を使用します。
somecommand ${1-foo}
再び Bash リファレンスマニュアル - 3.5.3 シェルパラメータの展開 :
コロンを省略すると、パラメータが未設定である場合のみテストが行われます。別の言い方をすれば、コロンが含まれる場合、演算子はパラメータの存在とその値がNULLでないことの両方をテストします。コロンが省略された場合、演算子は存在だけをテストします。
関連
-
[解決済み] Bashスクリプトで引数を反復処理する方法
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】firebase-tools "-bash: firebase: command not found".
-
[解決済み] バッシュ Vim.NET」が表示されたらVimを終了させる Warning: 出力先が端末でない"
-
[解決済み] スクリプトからのエラーメッセージを含むすべての端末出力をログファイルにパイプする方法
-
[解決済み] Curl:応答を待たない[重複]。
-
[解決済み] bashでjsonファイルを解析するためにjqの出力からダブルクオートを削除する方法は?
-
[解決済み] ConcatenationとAppendの違いについて【終了しました
-
解決策:bash: /root/.bashrc: パーミッションが拒否されました
-
[解決済み] condaのアップデート後、ターミナルのプロンプトから(base)を削除する方法
-
[解決済み] 絶対パスと論理パスの違い
-
[解決済み】bashで1つのコマンドでシェル変数にデフォルト値を割り当てる。