1、定义变量
var_url="www.9527.com"
2、变量分类
**查看所有变量
[root@loaclhost~] set
BASH=/bin/bash
name=9527
HOME=/root
…………
**查看全局变量
[root@loaclhost~]env
USER=root
SHELL=/bin/bash
…………
自定义环境变量
export 变量名=value
变量名=value ; export 变量名
declare - x 变量名=value
-----------------------------
[root@loaclhost~]declare -x llg=9527
**unset取消变量
以上是暂时设定环境变量,永久生效要加在用户家目录下的.bashrc和.bash_profile文件中。
查看变量
echo $变量名
printf $变量名
3、使用变量$
在定义过的变量名前加美元符号,花括号不是必须,但加花括号可帮助解释器识别变量的边界。
echo $var_url
#加{}区分变量边界
echo ${var_url}Request
4、二次赋值
a=1
echo $a
a=2
echo $a
4、只读变量readonly
[root@localhost~]vi test.sh
@!/bin/bash
var="www.9527.com"
readonly var
var="www.baidu.com"
[root@localhost~]./test.sh
/bin/bash: This variable is read only.
5、删除变量unset
[root@localhost~]vi test.sh
@!/bin/bash
var="www.9527.com"
unset var
echo $var
[root@localhost~]./test.sh
//无输出
1、字符串
Shell中的字符串可以单引号,也可双引号,也可不用引号
2、单引号与双引号
单引号里的东西全部原样输出,单引号的变量是无效的
单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),只能成对出现,用于字符串拼接
[root@localhost~]name=9527
[root@localhost~]echo '代号,'$name'!'
代号,9527!
[root@localhost~]echo '代号,$name!'
代号,$name!
双引号中可以有变量,也可以有转义字符
[root@localhost~]name=9527
[root@localhost~]echo "代号,"$name""
代号,9527
[root@localhost~]echo "代号,$name"
代号,9527
这里有个坑爹的地方,报错-bash: !": event not found,懒得转义感叹号了
字符串可不用引号,所以下面的方式最舒服
[root@localhost~]echo 代号,$name!
代号,9527!
[root@localhost~]string=abcdef
**获取字符串长度
[root@localhost~]echo ${#string}
6
**截取字符串
[root@localhost~]echo ${string:0:2}
ab
**查找子字符串位置
[root@localhost~]echo `expr index $string a`
1
3、注释
#单行注释
:<<EOF
注释内容……
注释内容……
注释内容……
EOF
多行注释中,EOF可换成其他字母或者符号,首位相同即可
此外,调试脚本过程中,也可把暂时不用的一段代码用花括号括起来,定义成一个函数,没调用这个函数也就不执行了,效果一样。