1.变量的定义:
1)定义本身
变量就是内存一片区域的地址
2)变量存在的意义
命令无法操作一直变化的目标
用一串固定的字符来表示不固定的目标可以解决此问题
2.shell脚本中3种变量的定义方法:
(1)环境变量:haha=22是当前shell环境中设定的变量,sh w.sh 开启了新的子进程,sh w.sh 没值
export 表示让子进程共享当前shell中的资源(设定环境变量):
(2)用户变量的设定:注意:编辑完成文件后,要记得 source ~/.bash_profile 让文件中的设定立即生效:
(3)系统变量的设定:退出shell后仍生效,可通过env 查看设定的系统变量:
3.变量的名称:
"字符" "_" "数字"
不能用数字开头
建议:
变量名称短全用大写字符
变量名称长用_区分子类
WESTOS
Westos_Linux
westoS_Linux
4.变量的转译:
5.用户命令的别名设定:
alias 查看系统中的命令别名
alias xie='vim' ##临时设定
vim ~/.bashrc
alias xie='vim' ##只针对与用户生效
vim /etc/bashrc ##针对系统所以用户生效
alias xie='vim'
unalias xie ##删除当前环境中的alias
6.脚本中的传参:
非交互模式:
$0 is /mnt/test.sh ##脚本本身
$1 is westos ##脚本后所输入的第一串字符
$2 is linux ##脚本后所输入的第二串字符
$3 is redhat
$* is westos linux redhat ##脚本后所输入的所有字符"westos linux redhat"
$@ is westos linux redhat ##脚本后所输入的所有字符'westos' 'linux' 'redhat'
$# is 3 ##脚本后所输入的字符串个数
交互模式传参:
read WESTOS ##对westos赋值
read -p "please input word:" WESTOS ##输出提示语,将输入的值赋给WESTOS
-s ##无回显输入
注意:$* 和 $@ 的区别
7.脚本中的函数:
程序的别名
设定方式:
WORD()
{
action1
action2
}
WORD 在脚本中就代表action1 action2这两个动作