[解決済み】bashで変数をデフォルト値で読み込む
2022-04-17 01:42:51
質問
bashスクリプトでターミナルから値を読み取る必要があります。 ユーザーが変更できるデフォルト値を提供できるようにしたいのですが。
# Please enter your name: Ricardo^
このスクリプトでは、プロンプトは "あなたの名前を入力してください: "デフォルト値は "Ricardo" で、カーソルはデフォルト値の後にあるはずです。 bashスクリプトでこれを行う方法はありますか?
どのように解決するのですか?
を使用することができます。 パラメータ展開 は、例えば
read -p "Enter your name [Richard]: " name
name=${name:-Richard}
echo $name
プロンプトにデフォルト値を括弧で囲むのは、かなり一般的な慣例です。
は何をするのですか?
:-Richard
の部分はどうなっているのでしょうか?bashのマニュアルより。
${parameter:-word}
パラメータが未設定またはNullの場合、wordの展開が代入されます。それ以外の場合は、パラメータの値が代入されます。
また、注目すべきは...
以下の各ケースで、wordはチルダ展開、パラメータ展開、コマンド置換、算術展開の対象となる。
ですから、もしあなたが
webpath=${webpath:-~/httpdocs}
という結果が得られます。
/home/user/expanded/path/httpdocs
ではなく
~/httpdocs
など。
関連
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】if [](角括弧)の「[: 引数が多すぎる」エラーの意味)
-
[解決済み】firebase-tools "-bash: firebase: command not found".
-
[解決済み] find -exec cp {} でエラー 'find: missing argument to -exec' が発生した場合の解決策。TARGET_DIR + [閉店]。
-
[解決済み] (standard_in) 1: bash スクリプトのシンタックスエラー
-
[解決済み] curl: 引数リストが長すぎる
-
[解決済み] awk で行を飛ばすにはどうしたらいいですか?
-
[解決済み] docker alpine /bin/sh script.sh not found
-
[解決済み] ファイル内の大文字・小文字を区別しない文字列を grep するには?
-
[解決済み] bashスクリプトでfindコマンドを使用する
-
[解決済み] AWS CLIのプロファイルを一時的に切り替えるには?