6-X3の宣言と植字コマンド:設定された変数のプロパティ

シェルは、その同じ用法組み込みタイプセット宣言であり、変数のプロパティを設定するために使用されます。しかし、タイプセットではなく、推奨される宣言を放棄してきました。

[変数名=変数値]宣言[+/-] [aAfFgilprtux] :次のように使用宣言コマンドであります

前記-属性セットを表し、+キャンセルの特性を示しaAfFgilprtux具体的なオプションがあり、その意味は次のとおりです。

オプション
意味
-f [名前] 予めユーザによってスクリプト内で定義された関数の名前と関数本体を一覧表示します。
-F [名前] リストは唯一のカスタム名を機能します。
-g名前 Shell関数の内部でグローバル変数を作成します。
-p [名前] 表示属性と指定された変数の値。
-名前 通常の配列として変数を宣言します。
-名前 連想配列として宣言変数(文字列へのインデックスの添字をサポート)。
-i名前  変数は整数型として定義されています。
-r名前[=値]  変数は読み取り専用の名前に相当し、読み取り専用(非編集、削除)のように定義されます。
-x名前[=値] 変数は、エクスポート名[=値]に相当する環境変数に設定されています。
 
李のために
知識ポイント
-i変数を整数として定義されています
比較テスト
李のために
結果
変数の一般的な定義
  1. A = 3
  2. B = 4
  3. エコー$ A + $ B

3 + 4

変数の一般的な定義
  1. A = 3
  2. B = 4
  3. C = $ A + $ B
  4. エコー$ C
3 + 4
DECLAREの  -i定義変数
  1. 宣言  -iab
  2. A = 3
  3. B = 4
  4. エコー$ A + $ B
3 + 4
DECLAREの  -i定義変数
  1. 宣言  -iabc
  2. A = 3
  3. B = 4
  4. C = $ A + $ B
  5. エコー$ C
7

 

 

-r変数は、読み取り専用として定義されています

(変更、および削除することはできません)

-rn = 10を宣言

エコー$ N ---> 10

N = 30 --->与えられました

-bash:M:読み取り専用変数

普通の解除変数を削除することができますが、変更することはできません読み取り専用の変数を削除することはできません
-p表示属性と指定された変数の値

roaddb @スタンドアロン $宣言-rr = 10

roaddb @スタンドアロン $宣言-pr

-RR宣言= "10"

roaddb @スタンドアロン $ A = 5

roaddb @スタンドアロン $宣言-pa

宣言 - = "5"

-x環境変数として変数を設定します。

roaddb @スタンドアロン $輸出ENV_VAR = TEST1

roaddb @スタンドアロン $宣言-x env_var2 = TEST2

roaddb @スタンドアロン $ ENV | grepをENV_VAR *

ENV_VAR 2 = TEST2

ENV_VAR = TEST1

roaddb@standalone:~$ declare -p env_var2

declare -x env_var2="test2"

roaddb@standalone:~$ declare -p env_var

declare -x env_var="test1"

1.使用export或 declare -x可以设置环境变量

2.env可以查看所有的环境变量

 

-f 列出之前由用户在脚本中定义的函数名称和函数体    
-F 仅列出自定义函数名称    
-g 在 Shell 函数内部创建全局变量  

1.全局变量的知识点

1)在 Shell 中定义的变量,默认就是全局变量

2)全局变量的作用范围是当前的 Shell 进程,而不仅仅是当前的 Shell 脚本文件

 

-a 声明变量为普通数组

roaddb@standalone:~$ arr1=('a' 'b' 'c')

roaddb@standalone:~$ echo ${arr1[*]}

a b c

roaddb@standalone:~$ declare -p arr1

declare -a arr1='([0]="a" [1]="b" [2]="c")'

roaddb@standalone:~$ declare -a arr2=('aa' 'bb' 'cc')

roaddb@standalone:~$ echo ${arr2[*]}

aa bb cc

roaddb@standalone:~$ declare -p arr2

declare -a arr2='([0]="aa" [1]="bb" [2]="cc")'

使用arr1=('a' 'b' 'c')或declare -a arr2=('a' 'b' 'c')的方式创建数组,其效果是一样的
-A 声明变量为关联数组(支持索引下标为字符串)

roaddb@standalone:~$ declare -A arr3=(['aa']='bb' ['cc']='dd' ['ee']='ff')

roaddb@standalone:~$ declare -p arr3

declare -A arr3='([aa]="bb" [ee]="ff" [cc]="dd" )'

 

おすすめ

転載: www.cnblogs.com/mianbaoshu/p/12069541.html