bashでデフォルトですべての変数を読み取り専用およびローカルに設定する

bashでデフォルトですべての変数を読み取り専用およびローカルに設定する

スクリプトを作成するときに変数を作成するときとbash多くを使用しました。これにより、スクリプトがすばやく埋められ、コードが読みにくくなり、繰り返しになります。すべての変数および/またはデフォルト値を生成する方法(スクリプトの一番上のフラグなど)はありますか?readonlylocal -rsetreadonlylocal -r

追加された注意点は、3.2.57(1)-releasemacOSで実行する必要があることです。

これは不可能だと確信していますが、確認したかったです。

「あきらめてbash正しいスクリプト言語を使用してください」と答えないでください。私も他のスクリプト言語を使用しています。bashスクリプトにはその場があり、私はコーディングを楽しんでいます。

ベストアンサー1

デフォルトでは、すべての変数を読み取り専用および/またはlocal-rにする方法(スクリプトの上部にフラグを設定するなど)はありますか?

いいえ。ソースコードをbash

ただし、変数を読み取り専用にするために必要なセマンティクスを減らすために、エイリアスを宣言できます。

例えば、

#!/bin/bash
#
shopt -s expand_aliases
alias lr='local -r'

demo() {
    lr a=123
    echo "$a"
    ((a++))      # Correctly fails with "a: readonly variable"
}

demo

おすすめ記事