shell 脚本中变量的定义方法
变量名称中通常包含大小写字字母,数字,下划线(不是必须)
环境级
export A=1
用户级
vim ~/bash_profile
export A=1
系统级
vim /etc/profile
export A=1
字符的转译及变量的声明
- \ 转译单个字符
- "" 弱引用,批量转译 "" 中出现的字符,
- '' 强引用,批量转译 '' 中出现的字符
- '' 与 "" 两者的区别在于, "" 不能转译 "\","`","!","$"
${} 变量声明
例如:A=1
echo $Ab
echo ${A}b
变量值传递
- $1 脚本后的第一串字符串
- $2 脚本后的第二串字符串
- $3 脚本后的第三串字符串
- $# 脚本后所跟字符串的哥数
- $* 脚本后跟的所有字符串,模式为“ 1 2 3 ”
- &@ 脚本后跟的所有字符串,模式为“ 1”“2”“3”
用 read 实现变量传递
- read WESTOS
- read -s WESTOS #加密输入,输入字符不显示
- read -p "input: " WESTOS #提示引号信息
linux 系统中命令别名的设定
- 环境级设定 alias xie='vim'
- 用户级设定 vim ~/.bashrc
- 系统级设定 vim /etc/bashrc
- 取消设定 unalias xie
利用命令执行结果设定变量
Hostname=$(hostname) #命令替换,限制性$()中的命令。
Hostname=`hostname` #命令替换,先执行``中的明令。
$?
$? 是命令在执行完成之后产生的退出值范围是 [0-255]
当 $0=0 时标示命令执行没有错误输出
这个值可以用 exit 命令执行 .
例如 exit 66
脚本中的函数
脚本中的函数时把一个复杂的语句块定义成一个字符串的方法Host_Message()
{
read -p "Please input you action: " Action
[ "Action" == "exit" ] && exit 0
[ "Action" == "user"]&&echo You are $USER
[ "Action" == "hostname" ]&& echo $HOST
Host_Message
}
Host_Message
一个用户控制的脚本
