1.影响显示结果的语系变量(locale)
1.1locale这个命令就是查看当前系统支持多少种语系,命令使用如下:
[root@localhost shell]# locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" ......
1.2怎么调整系统的语系变量呢?
答:系统默认的语系定义在/etc/sysconfig/i18n这个文件中,我们可以修改这个文件,来调整系统的语系
[root@localhost locale]# cat /etc/sysconfig/i18n LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16"
2.变量键盘读取、数组与声明:read,array,declare
2.1.read
要读取来自键盘输入的变量,就是用read这个命令
语法: read [-pt] var 参数: -p:后面可以接提示符。 -t:后面可以接等待的“秒数”。 实例1 让用户由键盘输入自己的名字 [root@localhost locale]# read name ickes 按下回车键后,光标会等待你的输入 [root@localhost locale]# echo $name ickes 刚输入的内容作为了name这个变量的值 实例2 让用户30秒内输入自己的大名 [root@localhost locale]# read -p "you name is:" -t 30 name you name is:xialiang 有提示的 [root@localhost locale]# echo $name xialiang 刚输入的内容作为了name这个变量的值
2.2.declare、typeset
declare或者typeset是一样的功能,就是声明变量的类型,我一般选择用declare
declare的用法:
语法: declare [-aixr] var 参数: -a:将后面名为var的变量定义成数组(array)类型 -i:将后面名为var的变量定义为整数(int)类型 -x:用法跟export一样,将后面的var变成一个环境变量 -r:将后面名为var的变量设置只读 实例一:让变量sum进行100+200+300的累加 [root@localhost locale]# sum=100+200+300 [root@localhost locale]# echo $sum 100+200+300 他这是要干啥呢?原来linux默认,若不指定变量的类型,那么这个他的类型就是字符串 [root@localhost locale]# declare -i sum=100+200+300 [root@localhost locale]# echo $sum 600 实例二:将sum变成环境变量 [root@localhost locale]# declare -x sum [root@localhost locale]# export | grep sum declare -ix sum="600" 看到了没有,果然包括了i与x的声明 实例三:让sum变成只读属性,不可改动 [root@localhost locale]# declare -r sum [root@localhost locale]# sum=100 -bash: sum: readonly variable 果然不然改动这个变量了 实例四:让sum变成非环境变量 [root@localhost locale]# declare +x sum 将-变成+就变成了取消操作 [root@localhost locale]# declare -p sum -p可以单独列出变量的类型 declare -ir sum="600" 但是注意了:-r这个只读属性,一旦设定,就不能够取消,通常需要注销重新登录注意了:默认情况下,bash对于变量有几个基本的定义
1).变量类型默认为字符串(从实例一可以看出);
2).bash环境中数值运算,默认最多仅能达到整数类型,所以1/3的结果是0
2.3.数组
语法相当简单:var[index]=content,如下所示,是不是如此的简单、
[root@localhost locale]# var[0]=1 [root@localhost locale]# var[1]=ickes [root@localhost locale]# echo ${var[0]} 1 [root@localhost locale]# echo ${var[1]} ickes 一般来说,建议直接以${数组}的方式来读取,会比较正确无误3.命令别名设置:alias,unalias
这个相当容易理解,通过一个例子来阐述如下:就是如此的简单
[root@localhost ~]# alias l='ls -al' [root@localhost ~]# l