合肥网站制作报,seo策略,商丘小程序开发公司,石家庄哪里可以做网站局部变量
1、普通字符串变量
变量名value
变量名value #单引号中不进行变量解析#xff0c;原样输出#xff0c;应用不多
变量名value #双引号会解析变量
例#xff1a;
a1123
a2234
a3345
echo a1$a1
echo a2$a2value
变量名value #单引号中不进行变量解析原样输出应用不多
变量名value #双引号会解析变量
例
a1123
a2234
a3345
echo a1$a1
echo a2$a2
echo a3${a3} #${a3}和$a3等同
在AWK中单双引号的作用相反 local i #在一个函数中声明一个局部变量 把命令作为变量
CMDls
CMD$(ls)
echo $CMD #此时就会执行命令
用法用命令作为变量进行打包 tar zcf $(uname -n).tar.gz /etc/services
H$(uname -n)
tar zcf ${H}.tar.gz /etc/services #加{}的目的是为了确定变量名 Shell的特殊变量
$0 获取当前脚本的文件名
$n 获取第n个脚本参数如果大于9则用${n}
$# 脚本参数的个数 dirname $0 #取其路径
basename $0 #取其文件名 2、进程状态变量
$? 获取上一个指令的返回值0为成功非零失败
2表示权限拒绝
1~125表示脚本命令、系统命令错误或参数传递错误
126找到该命令但无法执行
127没有改命令
$$ 获取当前Shell的进程号PID 利用$?在程序当中做判断
RETVAL$?
echo
[ $RETVAL -eq 0 ] touch /var/lock/subsys/portmap $* 将所有命令行所有参数视为一个整体字符串等同于$1$2$3
$ 将命令行每个参数视为单独的字符串等同于$1 $2 $3这是将参数传递给其他程序的最佳方式因为他会保留所有内嵌在每个参数里的任何空白。
编辑test.sh内容如下
for i in $*; do echo $i; done; echo ----
for i in $; do echo $i; done; echo ----
for i; do echo $i; done; echo ----
for i in $*; do echo $i; done; echo ----
for i in $; do echo $i; done; echo ----
执行命令bash test.sh one two three four
输出结果
one
two
three
four
----
one
two
three
four
----
one two
three
four
----
one two three four
----
one two
three
four
---- 3、bash内部变量
Shell本身提供的常用命令echo eval exec export readonly read shift wait exit 点(.)
echo 将变量名指定的变量显示到标准输出
shift 改变命令行参数的位置即$2称为$1$3成为$2...以此类推。并且$#减1
export 变量名value 声明环境变量