Bashスクリプトでは:
変数名を指定して変数を作成します。
abc=ok
または私達は利用できますdeclare
declare abc=ok
違いは何ですか?
Bashにはなぜ変数を生成する方法がたくさんありますか?
ベストアンサー1
からhelp -m declare
:
名前
declare
- 変数の値と属性を設定します。要約
declare
[-aAfFgilnrtux
][-p
][name
[ ] ...]=value
説明する
変数の値と属性を設定します。
変数を宣言し、属性を割り当てます。名前を指定しないと、すべての変数の属性と値が表示されます。
オプション:
-f
動作または表示を関数名と定義に制限する
-F
関数名のみを表示するように制限します(デバッグ時に行番号とソースファイルを含む)。
-g
シェル関数で使用されたときにグローバル変数を生成します。それ以外の場合は無視されます。
-p
各NAMEの属性と値を表示
プロパティ設定オプション:
-a
NAMEをインデックス配列にする(サポートされている場合)
-A
NAMEを連想配列にする(サポートされている場合)
-i
NAMEに「整数」属性を持つように設定
-l
割り当て時にNAMEを小文字に変換
-n
NAME を値の名前付き変数への参照にします。
-r
NAMEを読み取り専用に設定
-t
NAMEに「trace」属性を持つように設定
-u
割り当て時にNAMEを大文字に変換
-x
名前のエクスポート
使用
+
「変える」-
' 指定された属性をオフにします。整数属性を持つ変数は、
let
変数に値を割り当てるときに算術評価を行います(コマンドを参照)。関数内で使用するときにコマンドを
declare
使用するのと同じように、NAMEをローカル名にします。local
これ-g
'オプションはこの動作を抑制します。終了ステータス:
無効なオプションが指定された場合、または変数割り当てエラーが発生しない限り成功を返します。また、見ることができます
大きな打撃(1)
実装する
GNU bash, バージョン 4.3.11(1)-リリース (i686-pc-linux-gnu)
著作権 (C) 2013 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL バージョン 3 以降 <http:// gnu.org/ ライセンス/gpl.html>
したがって、declare
変数値を設定するにはと属性。
2つのプロパティの使い方を示すために、非常に簡単な例を使用します。
$ # First Example:
$ declare -r abc=ok
$ echo $abc
ok
$ abc=not-ok
bash: abc: readonly variable
$ # Second Example:
$ declare -i x=10
$ echo $x
10
$ x=ok
$ echo $x
0
$ x=15
$ echo $x
15
$ x=15+5
$ echo $x
20
上記の例で理解する必要があるようです。declare
変数は普通の変数を超えています!このタイプのdeclare
操作は、関数とスクリプトのループに役立ちます。
また、訪問入力変数:宣言または組版