содержание
1.объявить команду и параметры
3. Пример: тип переменной массива
5. Пример: свойство только для чтения
6. Пример: Запрос свойств переменных и отмена свойств переменных
Если нам нужно выполнить числовые операции, мы можем сделать это любым из трех способов:
Используйте declare для объявления типа переменной: поскольку типом по умолчанию для всех переменных является строка, пока мы объявляем переменную как целое число, мы можем выполнять операции. Объявление типа переменной выполняется с помощью команды declare. Команда выглядит следующим образом:
1.объявить команду и параметры
【+/-】【подопция】 Имя переменной
Подопции:
-: Установите атрибут типа для переменной.
+: отменяет атрибут типа переменной.
-a: объявить переменную как массив.
-i: объявить переменную как целое число.
-r: объявить переменную доступной только для чтения. Обратите внимание, что если для переменной задано значение только для чтения, значение переменной нельзя ни изменить, ни удалить, а атрибут только для чтения нельзя отменить даже с помощью +r.
-x: объявить переменную как переменную среды.
-p: Показать объявленный тип указанной переменной.
2. Пример: числовая операция
[root@localhost ~]# aa=11
[root@localhost ~]# bb=22
[root@localhost ~]# declare -i cc=$aa+$bb #将变量声明为整数型。
[root@localhost ~]# echo $cc
33
3. Пример: тип переменной массива
Так называемый массив представляет собой совокупность элементов одного типа данных, расположенных в определенном порядке, то есть ограниченное количество переменных одного типа именуется именем, а затем они разделяются числами. Имя становится массивом, а число называется индексом. Переменные, из которых состоит массив, называются компонентами массива, также называются элементами массива и иногда называются табличными переменными.
И переменные, и массивы используются для хранения данных, но переменной может быть присвоено только одно значение данных. После повторного присвоения последнее значение перезапишет предыдущее значение. С другой стороны, массивам может быть присвоен набор значений данных одного типа.
пример:
[root@localhost ~]# name[0]="aa" #数组中第一个变量是“aa”
[root@localhost ~]# name[1]="bb" #数组中第二个变量是“bb”
[root@localhost ~]# name[2]="cc" #数组中第三个变量是“cc”
[root@localhost ~]# echo $name #输出数组的内容,如果只写数名,aa那么只会输出第一个下标变量。
[root@localhost ~]# echo ${name[1]} #下表1输出了bb
bb
[root@localhost ~]# echo ${name[*]} #用数组【*】输出数组所有内容
aa bb cc
#(数组下表是从0开始的,在调用数组时,需要用${数组[下标]}的方式来读取)
4. Пример: переменные среды
Мы можем использовать команду declare для объявления переменных как переменных среды, что аналогично команде экспорта.
[root@localhost ~]# declare -x test=123 #用declare命令-x选项将test=123声明为环境变量。
[root@localhost ~]# env | grep test #在env中查找是否有test的环境变量。
test=123
Переменные среды можно использовать в оболочке, в которой была создана переменная, а также в любой подоболочке или процессе, производном от этой оболочки, поэтому переменные среды часто называют глобальными переменными. Оболочка, в которой создается переменная среды, называется родительской оболочкой, а если оболочка создается в родительской оболочке, оболочка называется подоболочкой. Когда создается подоболочка, она наследует переменные среды родительской оболочки для собственного использования, поэтому переменные среды могут быть переданы из родительской оболочки в подоболочку. Обратите внимание, однако, что переменные среды могут передаваться только вниз, а не вверх. «Переход от сына, а не от отца»
5. Пример: свойство только для чтения
[root@localhost ~]# declare -r test #给test赋予只读属性
[root@localhost ~]# test=456 #test变量的值不能修改了
bash: test: readonly variable
#bash,
test,只读变量
[root@localhost ~]# declare +r test #试图取消只读属性
bash: declare: test: readonly variable #失败..
[root@localhost ~]# unset test #删除变量
bash: unset: test: cannot unset: readonly variable #再次失败.....
Как только атрибут только для чтения установлен для переменной, переменная не может ни изменить значение переменной, ни удалить переменную, а параметр +r нельзя использовать для отмены атрибута только для чтения. Однако, поскольку эта переменная объявлена только в командной строке, она исчезнет, как только вы снова войдете в систему или перезагрузитесь.
6. Пример: Запрос свойств переменных и отмена свойств переменных
Запрос свойств переменных использует параметр -p, а отмена свойств переменных использует параметр +. Команда выглядит следующим образом:
[root@localhost ~]# abc=123 #变量赋值abc=123
[root@localhost ~]# declare -p abc #用declare -p查看
declare -- abc="123"
[root@localhost ~]# declare -i abc #declare -i声明变量abc为整数型
[root@localhost ~]# declare -p abc #查看
declare -i abc="123"
[root@localhost ~]# name[0]=aa #数组
[root@localhost ~]# name[1]=bb
[root@localhost ~]# name[2]=cc
[root@localhost ~]# declare -p name #查看数组型
declare -a name='([0]="aa" [1]="bb" [2]="cc")'
[root@localhost ~]# declare -p test #test变量是环境变量和只读变量
declare -rx test="123"
[root@localhost ~]# declare +x test #取消test变量的环境变量属性
[root@localhost ~]# declare -p test #查看test
declare -r test="123"