定义变量
shell_name="Shell"
使用变量
echo ${shell_name} 强烈推荐使用加{}
for skill in Ada Coffe Action Java; do
echo "I am good at ${skill}Script"
done
重新赋值
shell_name="shell"
echo ${shell_name}
只读变量
read_only="read-only"
readonly read_only 若重新赋值,则报错
echo ${read_only}
删除变量
unset shell_name 若删除只读,则报错
echo ${shell_name}
变量类型
- 1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
- 2) 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
- 3) shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行
字符串
单引号 float_quote='donny"'
限制:单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;单引号字串中不能出现单引号(对单引号使用转义符后也不行)。
双引号 double_quote="Hello,"${float_quote}!"
优点:双引号里可以有变量、双引号里可以出现转义字符
拼接字符串
greeting="hello, "${float_quote}" !"
greeting_1="hello, ${float_quote} !"
echo $greeting $greeting_1
字符串长度
echo ${#float_quote} #4
提取子字符串
echo ${double_quote:1:3} #ell
查找子字符串
echo `expr index ${double_quote} o ` #5