1、键盘读取变量内容:read

 

 
  
  1. 语法: 
  2.  
  3. [root@www ~]# read [-pt] variable 
  4.  
  5. 选项与参数: 
  6.  
  7. -p  :后面可以接提示字符! 
  8.  
  9. -t  :后面可以接等待的『秒数!』这个比较有趣~不会一直等待使用者啦! 

 

 

范例一:让用户由键盘输入一内容,将该内容变成名为 atest 的变量

[root@www ~]# read atest

This is a test

[root@www ~]# echo $atest

This is a test

 

范例二:提示使用者 30 秒内输入自己的大名,将该输入字符串作为名为 named 的变量内容

[root@www ~]# read -p "Please keyin your name: " -t 30 named

Please keyin your name: VBird Tsai

[root@www ~]# echo $named

VBird Tsai

 

 

2、宣告变量类型:declare / typeset 

 

 
  
  1. 语法: 
  2.  
  3. [root@www ~]# declare [-aixr] variable 
  4.  
  5. 选项与参数: 
  6.  
  7. -a  :将后面名为 variable 的变量定义成为数组 (array) 类型 
  8.  
  9. -i  :将后面名为 variable 的变量定义成为整数数字 (integer) 类型 
  10.  
  11. -x  :用法与 export 一样,就是将后面的 variable 变成环境变量
  12.  
  13. -r  :将变量配置成为 readonly 类型,该变量不可被更改内容,也不能 unset,要注销再登陆才能复原该变量的类型 

 

 

 

范例一:让变量 sum 进行 100+300+50 的加总结果

[root@www ~]# sum=100+300+50

[root@www ~]# echo $sum

100+300+50  <==因为默认为字符变量,没有执行运算

[root@www ~]# declare -i sum=100+300+50

[root@www ~]# echo $sum

450         <==OK

 

范例二:将 sum 变成环境变量

[root@www ~]# declare -x sum

[root@www ~]# export | grep sum

declare -ix sum="450"  <==果然出现了!包括有 i 与 x 的宣告!

 

范例三:让 sum 变成只读属性,不可更动!

[root@www ~]# declare -r sum

[root@www ~]# sum=tesgting

-bash: sum: readonly variable  <==要注销再登陆才能复原该变量的类型

 

范例四:让 sum 变成非环境变量的自定义变量吧!

[root@www ~]# declare +x sum  <== 将 - 变成 + 可以进行『取消』动作

[root@www ~]# declare -p sum  <== -p 可以单独列出变量的类型

declare -ir sum="450" <== 看吧!只剩下 i, r 的类型,不具有 x 啰!

 

注:

1、如果使用 declare 后面并没有接任何参数,那么 bash 就会主动的将所有的变量名称与内容通通叫出来,和使用set 一样。