[解決済み] シェル変数の周りに中括弧が必要なのはどんなとき?
2022-03-20 23:24:02
質問
シェルスクリプトでは、どのような場合に
{}
変数を展開するときは?
例えば、以下のようなものがあります。
var=10 # Declare variable
echo "${var}" # One use of the variable
echo "$var" # Another use of the variable
大きな違いがあるのでしょうか、それとも単なるスタイルなのでしょうか?それとも単なるスタイルですか?
解決方法は?
この特定の例では、違いはありません。しかし
{}
で
${}
を拡張したい場合に便利です。
foo
という文字列の中に
"${foo}bar"
から
"$foobar"
で識別される変数を展開します。
foobar
.
また、次のような場合は、曲線ブレースが無条件に必要です。
-
のように、配列の要素を展開します。
${array[42]}
-
のように、パラメータ展開操作を使用します。
${filename%.*}
(拡張子を削除) -
位置パラメーターが9を超えて拡張されている。
"$8 $9 ${10} ${11}"
曖昧になりそうなケースだけでなく、あらゆる場所でこれを行うこと。
できる
は、良いプログラミングプラクティスと考えられています。これは一貫性を保つためでもあり、また
$foo_$bar.jpg
アンダースコアが変数名の一部になっていることが視覚的にわかりにくいからです。
関連
-
[解決済み] Bashで文字列から改行を削除する方法
-
[解決済み] Bashで文字列をデリミターで分割するには?
-
[解決済み] Git上でシェルコマンドを実行する際に使用するSSH-keyの秘密鍵を指定する方法は?
-
[解決済み] シェルスクリプトでブール変数を宣言して使用するにはどうすればよいですか?
-
[解決済み] シェルコマンドを実行しながらエコーする方法
-
[解決済み] 特殊なドル記号のシェル変数とは何ですか?
-
[解決済み] キーと値のペアのファイルから環境変数を設定する
-
[解決済み] 二重括弧、片括弧、中括弧の使い方
-
[解決済み] bashスクリプトでtimestamp変数を作成する
-
[解決済み】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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Docker ubuntu イメージ - bash: man: コマンドが見つかりません。
-
[解決済み] Bashでの動的な変数名
-
[解決済み] (standard_in) 1: bash スクリプトのシンタックスエラー
-
[解決済み] configureコマンドが見つからない cygwin
-
[解決済み] rsyncです。--include-from vs. --exclude-from 実際の違いは何ですか?
-
[解決済み] mkdir コマンドが bash スクリプトで見つかりません。
-
[解決済み] cmake execute_process COMMAND [重複]。
-
[解決済み] シンタックスエラー」が発生しました。"(" unexpected' (expecting "done") [duplicate]".
-
[解決済み] ファイル内の大文字・小文字を区別しない文字列を grep するには?
-
[解決済み] Bashスクリプトの'''抜け'''がある] [クローズド]