分页: 1 / 1

能解释下吗

发表于 : 2010-05-21 18:24
qscf_520
asjk_CONF_DIR=${asjk_CONF_DIR:-/etc/asjk/etc/conf}
asjk_CONF_DIR为变量,怎么${ }是什么意思asjk_CONF_DIR:-这又怎么理解啊?

IP_GROUP_PATH=/etc/asjk/sbin/ip_group
rm -rf ${IP_GROUP_PATH}/* ===>rm -rf $IP_GROUP_PATH/*不可以这样吗?

/bin/echo "" 2>/dev/null | awk ' ===>为什么在脚本中用awk的时候,经常看到echo "" |这个空值给awk处理。
.....

Re: 能解释下吗

发表于 : 2010-05-22 10:16
hrbeu06ws
asjk_CONF_DIR=${asjk_CONF_DIR:-/etc/asjk/etc/conf}
这个是Shell的参数展开。意思是,如果变量asjk_CONF_DIR未定义,则返回默认值为/etc/asjk/etc/conf,即 asjk_CONF_DIR=/etc/asjk/etc/conf
rm -rf ${IP_GROUP_PATH}/* ===>rm -rf $IP_GROUP_PATH/*不可以这样吗?
这个我试了一下,应该是可以的。
/bin/echo "" 2>/dev/null | awk ' ===>为什么在脚本中用awk的时候,经常看到echo "" |这个空值给awk处理。
至于这个,我想应该是考虑安全性吧!确保awk有一个输入。

Re: 能解释下吗

发表于 : 2010-05-22 10:35
xiooli
1,答案见ls
2,${IP_GROUP_PATH} 和 $IP_GROUP_PATH 是一样的,但是比如有另外一个变量叫$IP_GROUP,你要运行 比如 echo $IP_GROUP_PATH, 那么,出现的结果就不知道是 $IP_GROUP的值和'_PATH' 还是 $IP_GROUP_PATH的值,用括号包起来避免歧义。
3,awk 必须要有输入,没有输入不能继续处理,当然也可以用 awk 'BEGIN{bulabula}',这样就不要 echo 一个空值了。

Re: 能解释下吗

发表于 : 2010-05-23 12:46
qscf_520
thanks
hrbeu06ws 、xiooli