GNU/Linux >> Linux の 問題 >  >> Linux

Bash宣言ステートメント:構文と例

はじめに

bashの変数は、その参照に値を割り当てることによって作成されます。組み込みの宣言 ステートメントを使用してbashで変数を明示的に宣言する必要はありません。このコマンドは、より高度な変数管理タスクによく使用されます。

このチュートリアルでは、bash describeを使用して変数とその属性を操作する方法を説明します。 指図。

前提条件

  • 端末/コマンドラインへのアクセス。
  • Sudoユーザー権限。

Bash宣言構文

bashを使用するための構文describe コマンドは次のとおりです:

declare [options] [variable-name]="[value]"

Bash宣言オプション

宣言 コマンドは次の一般的なオプションで機能します:

オプション 説明
-f 変数ではなくbash関数を宣言します。
-F 関数の名前と属性を表示します。
-g シェル関数内のすべての変数操作にグローバルスコープを適用します。このオプションは、シェル関数の外部では機能しません。
-p 変数のオプションと属性を表示します。

次の表のオプションは、属性を変数に設定するために使用されます。

オプション 説明
-a 変数はインデックス付き配列です。この属性の設定を解除することはできません。
-A 変数は連想配列です。この属性の設定を解除することはできません。
-i 変数の値は整数です。 + iで属性の設定を解除します
-l <​​/ code> 変数名は小文字のみで構成されます。 + lで属性の設定を解除します
-n 変数は別の変数の名前参照になります。 + nで属性の設定を解除します
-r 変数は読み取り専用です。 + rで属性の設定を解除します
-t 関数とともに使用する場合、アイテムは DEBUGを継承します およびRETURN 親シェルからのトラップ。 + tで属性の設定を解除します
-u 変数名は大文字のみで構成されます。 + uで属性の設定を解除します
-x exportコマンドと同様に、変数を子プロセスにエクスポートします。 + xで属性の設定を解除します

Bashで変数を宣言する方法

次の例は、 testvarという名前の変数を宣言する方法を示しています。 100の値を割り当てます

declare testvar="100"

正常に実行されると、コマンドは出力を生成しません。 -pを使用します 変数が正常に作成されたかどうかを確認するオプション。このコマンドは、システムに現在存在するすべての変数を一覧表示するため、grepコマンドで制限します。

declare -p | grep testvar

二重ダッシュ( - )変数名の前の記号は、変数に引数がないことを示します。

属性を変数に設定するには、以下の構文を使用します。この例では、 -xを設定します testvarの属性 変数。

declare -x testvar

変数をもう一度検索し、属性が設定されていることを確認します。

declare -p | grep testvar

属性を削除するには、その前にプラス( + )を付けます ) サイン。

declare +x testvar

整数

-i オプションは、変数を整数値のみに制限します。

declare -i testvar

これをテストするには、変数の値を文字列に変更してみてください。

declare testvar="example"

echoコマンドを使用して、変数の値を確認します。

echo $testvar

出力にはゼロの値が表示されます( 0 ):

変数の値は、数学演算の結果である場合もあります。

declare testvar="3*3"

上記の例では、 testvar 変数に3 * 3の値が与えられました echoで変数値を確認する 結果を表示します。

echo $testvar

数学演算の結果は整数である必要はありません。

declare testvar="10/3"

ただし、変数に -iがある場合 属性セットの場合、結果は最も近い整数に丸められます。

echo $testvar

-i のときに、非整数値を変数に宣言しようとしています オプションが設定されていると、エラーが発生します。

declare testvar="1.5"

ケース

-uを使用します すべての文字を大文字に変換する属性。以下の例では、 testvarを宣言しています。 変数であり、 exampleの値を指定します

declare -u testvar="example"

ただし、 -u 属性が設定されました。変数の値を確認すると、 EXAMPLEの値であることがわかります。

echo $testvar

-l <​​/ code> 属性には逆の効果があります。

declare -l testvar="EXAMPLE"

設定すると大文字が小文字に変換されます。

echo $testvar

読み取り専用

-rを設定します 偶発的な変更から保護したい変数の属性。

declare -r testvar="100"

読み取り専用変数の値を変更しようとすると、エラーが発生します。

declare testvar="50"

配列

Bash変数は複数の値を持つことができます。 1つのbash変数に複数の値を割り当てるには、次のように入力して配列に変換します。

declare -a testvar

変数に変換前の値があった場合、その値は配列の最初の要素になり、インデックス番号は 0になります。 。変数配列の最初の要素の値を確認するには、次のように入力します。

echo ${testvar[0]}

要素のインデックス番号を指定して、配列のより多くの要素を宣言します。

declare testvar[1]="200"

次のように入力して、配列のすべての要素を一覧表示します。

echo ${testvar[*]}

Linux
  1. Linux AWKコマンド–LinuxおよびUnixの使用構文の例

  2. 例を含む Bash If-Else ステートメント

  3. Bash の For ループと While ループの例

  1. Bashでプログラミングする方法:構文とツール

  2. BashForループガイドと例

  3. 5 Bash Case ステートメントの例

  1. Bashスクリプト(I)

  2. 4 Bash If ステートメントの例 ( If then fi, If then else fi, If elif else fi, Nested if )

  3. bash から変数をエクスポートして Python で使用する