查看linux环境变量或者说是全局变量:

env或export(不带参数)
#查看语系设置
locale

设置一个变量

myname="falcon chen"
echo $myname

设置全局变量以便在子进程调用

export $myname

declare命令
参数:
-a : 声明为array变量
-i : 声明为integer变量
-x : 跟export一样,将变成环境变量
-r : 声明为只读变量
-p : 显示变量情况,如果未加变量名,即显示全部变量

declare -i sum=3+4+5
echo $sum
#如果不声明为整型变量则为字符串
#$sum的值为3+4+5


falcon@free ~ $ export |grep sum
declare -ix sum="6"
falcon@free ~ $ declare +x sum #将-变成+可以取消操作
falcon@free ~ $ declare -p sum #显示变量
declare -i sum="6" #已经去除x(环境变量)属性

数组的赋值


var[1]=1
var[2]=2
var[3]=3
echo ${var[1]} # 注意这个写法${数组}
echo ${var[2]}

read
-读取用户输入
-p提示文字
-t倒计时

falcon@free /etc/sysctl.d $ read -p "请输入你的大名:" -t 5 yourname
请输入你的大名:falcon
falcon@free /etc/sysctl.d $ echo $yourname
falcon

ulimit命令 限制用户系统资源

变量内容的删除、替换与替代

#删除内容
falcon@solo ~ $ path=$PATH
falcon@solo ~ $ echo $path
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
falcon@solo ~ $ echo ${path#/*games:} #这里的#表示开始删除,*是通配符,单个#时为非贪婪匹配,所以删除的内容为
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
剩下的就是
/usr/local/games


falcon@solo ~ $ echo $path
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
falcon@solo ~ $ echo ${path#/*:} #单个#时*非贪婪匹配
/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
falcon@solo ~ $ echo ${path##/*:} #多个#时*贪婪匹配
/usr/local/games

变量测试
1)var=${str-expr}设置方式 ,-不会影响旧变量str的值,若要旧变量一起替换就使用=

#当myname这个变量没有设置时,myvar赋值为falcon,若存在则为$myname的值
falcon@solo ~ $ unset myname;myvar=${myname-falcon}
falcon@solo ~ $ echo myname="$myname",myvar="$myvar"
myname=,myvar=falcon


#因为myvar变量值已经设置,所以myvar2不使用后面表达式的值
falcon@solo ~ $ unset myvar2;myvar2=${myvar-mint}
falcon@solo ~ $ echo myvar2="$myvar2",myvar="$myvar"
myvar2=falcon,myvar=falcon


#-不会影响旧变量str的值,若要旧变量一起替换就使用=
falcon@solo ~ $ echo myname="$myname"
myname=
falcon@solo ~ $ myvar3=${myname="falcon chen"}
falcon@solo ~ $ echo myname="$myname",myvar3="$myvar3"
myname=falcon chen,myvar3=falcon chen


#?号测试,如果旧变量不存在,则输出错误信息,若存在则使用旧变量的值
falcon@solo ~ $ myvar3=${myname?"non-exists"}
bash: myname: non-exists
falcon@solo ~ $ echo $?
1

命令别名与历史

falcon@solo ~ $ alias lm="ls -la | more"
falcon@solo ~ $ alias vi="vim"
falcon@solo ~ $ unalias lm #移除别名


history
history 3 #最近三条
history -w #写入~/.bash_history
!number #执行指定数字的命令
!! #执行上一条命令
! #al执行以al开头的历史命令

修改登录欢迎信息
/etc/issue #终端登录时的信息
/etc/motd #用户登录,如ssh

- EOF -