[解決済み】Bashやシェルスクリプトの変数の大文字小文字を正しく表記する。
2022-04-04 01:20:05
質問
私は多くのシェルスクリプトで、変数がすべて大文字になっているものに出会いますが、これには重大な誤解があると常々思っています。 私の理解では、慣習的に(そしておそらく大昔に必然的に)。 環境変数 はすべて大文字です。
しかし、Bashのような最新のスクリプト環境では、一時的な変数の名前を小文字にし、大文字にするという慣習を常に好んできました。 エクスポートされる変数(つまり環境変数)に対してのみです。 . 例えば
#!/usr/bin/env bash
year=`date +%Y`
echo "It is $year."
export JAVA_HOME="$HOME/java"
私はいつもそう思っています。 このアプローチに賛成または反対する権威ある情報源はありますか、それとも純粋にスタイルの問題ですか?
どのように解決するのですか?
慣習上、環境変数(
PAGER
,
EDITOR
と、シェル内部変数(
SHELL
,
BASH_VERSION
は大文字です。その他の変数名はすべて小文字にします。
環境変数や内部変数を誤って上書きしてしまうことを防ぐためです。
この規約を守っていれば、UNIXのツールやシェルが使っている環境変数を上書きしないように、いちいち把握する必要はないので安心です。 自分の変数であれば小文字で。 エクスポートする場合は、大文字にします。
関連
-
解決策:bash: /root/.bashrc: パーミッションが拒否されました
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] Bashで変数が設定されているかどうかを確認する方法は?
-
[解決済み] LinuxのシェルスクリプトでYes/No/Cancelの入力を促すにはどうしたらいいですか?
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】予期しないトークン 'fi' 付近の構文エラー
-
[解決済み] find -exec cp {} でエラー 'find: missing argument to -exec' が発生した場合の解決策。TARGET_DIR + [閉店]。
-
[解決済み] cmake execute_process COMMAND [重複]。
-
[解決済み] eval "$(docker-machine env default) "とする。
-
[解決済み] スクリプトからのエラーメッセージを含むすべての端末出力をログファイルにパイプする方法
-
[解決済み] bashで::演算子は何をするのですか?
-
[解決済み] bashスクリプトで変数の束縛を解除
-
[解決済み] 絶対パスと論理パスの違い
-
[解決済み] BashでDo-whileループをエミュレートする
-
[解決済み] Bashコマンドの出力を変数に代入する方法は?[重複しています]。