1. read
用途:可从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合,该命令可以一次读取多个变量的值,变量和输入的值都需要用空格隔开。
用法:
4read –p 提示符
执行结果:指定读取值时的提示符
4read –t timeout
执行结果:指定读取值时等待的时间(秒)
用例:
提示用户5秒内输入自己的大名,将该输入字符串作为名为named的变量内容
[[email protected] ~]# read -p "Please keyin your name:" -t 5 named
Please keyin your name:Allen.Huang
[[email protected] ~]# echo ${named}
Allen.Huang
2. declare/typeset
用途:用于声明和显示已存在的shell变量。当不提供变量名参数时显示所有shell变量(同set命令一样)。
用法:
4declare –p VAR_NAME
执行结果:显示变量属性
4declare –a VAR_NAME
执行结果:将变量定义为数组类型
4declare –f VAR_NAME
执行结果:仅显示函数
4declare –i VAR_NAME
执行结果:将变量定义为整数类型
4declare –r VAR_NAME
执行结果:将变量设置为只读
4declare –x VAR_NAME
执行结果:指定的变量会成为环境变量,可供shell以外的程序使用
4declare +- VAR_NAME
执行结果:“-”可用来指定变量的属性,“+”则是取消变量所设的属性
用例:
[[email protected] ~]# declare -x sum
[[email protected] ~]# sum=‘500‘
[[email protected] ~]# declare -p sum
declare -x sum="500"
[[email protected] ~]# export |grep ‘sum‘
declare -x sum="500"
3. array变量类型
定义方法:declare –a arrays
建议直接以${数组}的方式来读取
用例:
[[email protected] ~]# declare -a arrays
[[email protected] ~]# arrays[1]="How"
[[email protected] ~]# arrays[2]="are"
[[email protected] ~]# arrays[3]="you?"
[[email protected] ~]# echo "${arrays[1]} ${arrays[2]} ${arrays[3]}"
How are you?