目录
一、变量的定义
1、定义
变量就是内存一片区域的地址
2.变量存在的意义
命令无法操作一直变化的目标
用一串固定的字符来表示不固定的目标可以解决此问题
二、shell脚本中变量的定义方法
1.环境级别
export A=1
在环境关闭后变量失效
2.用户级别
vim ~/.bash_profile
export A=1
source ~/.bash_profile
3、系统级别
[root@westos-firewall mnt]# vim /etc/profile.d/A.sh
[root@westos-firewall mnt]# source /etc/profile.d/A.sh
4、变量名称定义规则
变量名可以使用:
Westos_Linux
westoS_Linux

三、变量的转译
1、转义
转译:\ 转译单个字符" " 弱引用,批量转译个数字符 不能转译"\ " "" "$" "!"' ' 强引用
2、变量的声明
a=1
echo $ab
echo ${a}b a是变量,对a做变量声明
3、 变量的数组
echo $a 默认输出数组第一个元素
echo ${a[0]} 数组中第一个元素
echo ${a[-1]} 数组中最后一个元素
echo ${a[*]} 数组中所有元素
echo ${a[@]} 数组中所有元素
echo ${#a[@]} 数组中元素的个数
echo ${a[@]:0:2} 数组中0后面排两个元素
echo ${a[@]:5:3} 5后面排3个元素,5后面只有1个
不能有负数
unset a[0] ##删除数组的第一个元素
a[0]=1 ##添加数组的第一个元素1
四、Linux中命令的别名设定
1、环境级别
2、用户级别
3、系统级别
4、取消
五、用户环境变量的更改
用户级别:vim ~/.bash_profile 中 加入:/mnt
取消:
六、脚本函数
1、直接利用命令执行结果
$---()---|---""
这四种优先执行
TEST=`hostname’ 等同于 TEST=$(hostname)
2、脚本中的传参
非交互模式: 没有回应直接给出结果
$0 is westos3.sh <脚本本身>
$1 is jiaojiao <脚本后所输入的第一串字符>
$2 is sun <脚本后所输入的第二串字符>
$* is jiaojiao sun <脚本后所输入的所有字符 “linux haha 123”>
$@ is jiaojiao sun <脚本后所输入的所有字符 ‘linux’ ‘haha’ ‘123’>
$# is 2 <脚本后所输入的所有字符串个数>
交互模式传参: 有回应
read WESTOS 对westos赋值
read -p “please input word:” 输出提示语
s 隐藏输入内容
echo -e “\n” -e 执行动作,"\n"多一行
3、脚本函数
定义: 程序的别名
设定方式:
WORD()
{ action1
action2
}
WORD 在脚本中就代表action1 action2这两个动作
(一)调用WESTOS函数
WESTOS函数,并循环WESTOS
用WESTOS函数,并循环WESTOS,输入 exit 退出