1.变量
变量是暂时用来存储数据的地方,是一个内存空间。bash shell和其他的编程语言,没有“数据形态”,也就是说默认情况下不区分一个变量是整型还是浮点型等,除非你使用declare语句申明变量类型。在bash shell中,默认只有一种数据型,就是由字符组成的字符串。同时,设定的变量只在当前的shell中存在,也就是,每一个shell都会维护一份他们自己的变量,彼此不会有影响。可以把变量导出成环境变量,这样其他的shell就可以被子shell引用。
2.变量的命名规则:
1.可以使用英文字母、数字和下划线组成
2.第一个字符不能是数字
3.区分大小写
3.变量设定:
变量名=值
例如:name=john
建议这样设定变量:name="john" 或者name='john'
在引用变量的时候使用双引号和单引号是有区别的,单引号不会进行变量替换。而在双引号中,如果也想抑制变量替换,则需要使用转义符反斜线 \
#字符的转译及变量:
\ 转译单个字符
"" 弱引用,批量转译“”中出现的字符
'' 强引用,批量转译‘’中出现的字符
""与'' 两者的区别在与,""不能转译"\""`"",""!""$"
${} 变量声明
例如:
a=2
echo $a
2
echo ${a}c
2c
4.变量的种类
变量分为用户级变量,系统级变量,环境级变量
1)环境级变量
a=1
echo $a 则会得到a的值为1
2)用户级变量
vim test.sh
vim /root/.bash_profile
source /root/.bash_profile
sh test.sh
3)系统级变量
vim /etc/profile
source /etc/profile
5.linux系统中命令别名的设定
临时设定
alias xie=“vim” xie就可以代替vim来执行命令
用户设定
vim ~/.bashrc
source /~/.bashrc
2
系统设定
vim /etc/bashrc
source /etc/bashrc
2
6.利用命令执行结果设定变量
$() 只有在shell中可以使用
`` 任何当中都能使用
$? 是命令在执行完成之后产生的退出值
范围是[0-255]
当$?=0时表示命令执行没有错误输出
这个值可以用exit命令执行。
7.脚本中的函数
Action(){
中间写脚本内容
Action
} 可以一直执行Action中的命令。
8.脚本中的语句控制器
exit 脚本退出
break 退出当前循环
continue 提前结束循环内部的命令,但不终止循环
9.bash的一些重要的内置变量:
$1 ~ $n 参数位置。当n超过9后,使用${n},例如${10}
$* 代表所有的参数位置,而且视为一个字符串
$@ 代表所有的参数位置,但是代表各位置参数组成的串行
$# 参数的个数
$? 上一个命令的返回值
$! 上一个后台进程的编号
$$ 目前shell的进程编号