"$@"="abc bcd" "ddd"
转自:http://blog.sina.com.cn/s/blog_62c5db6e0100hpp8.html
可以使用varname=value的语句定义变量值。
例如:
echo $wel
某些环境变量在登录时由shell预定义,还有其他三种内置变量对shell编程很重要,其实我感觉是非常重要。呵呵。
现在先简单的学一下,以后再系统的学(没办法,现在我没看到那,没法写那的东西啊,唉,不会的太多太多,一点点来吧)。
说到这,想起了 同事说过的一句话,同事问“最近学东西感觉咋样?”
我说,“还好吧,慢慢来吧,总不能一口吃个胖子不是。”
同事思索良久,后曰“慢慢可以,但是得‘来’啊!”。 :cool:
呵,扯远了,继续咱们的话题。。
最重要的特定内置变量称为位置参数。当脚本被调用时,它们保存脚本的命令行参数。
位置参数名为1,2,3等,其值由$1,$2,$3表示,还有一个位置参数0其值为脚本名(也就是要被调用的鍵入的命令)
两个特殊变量包含了所有的位置参数:*和@
它们的差别不大,但是,要注意哦,虽然其差别只能在双引号“”内才体现得出来。
“$”是包含所有参数位置的单一字符串,看来老外真的很喜欢钱,尤其是“美元”。
由环境变量IFS(内部域分隔符,internal field seperator)中的第一个字符分隔。其默认为“空格”、“TAB”和NEWLINE。
$@等价于”$1″”$2″”$3″…”$N”,这里的N是位置参数数目,等价于N个单独的由空格分隔的双绰号字符串。
如果没有位置参数(即一个参数也没有),则“$@“扩展为空。
变量#保存位置参数的数目
假设有下列简单的shell脚本alice.sh
echo "alice: $@"
echo "$0: $1 $2 $3 $4"
echo "$# arguments"
假如我鍵入命令/alice.sh welcome 小小子(这里welcome和小小子就是alice脚本的两个参数)
执行结果为:
./alice.sh: welcome 小小子
2 arguments
这里$3和$4未设置,将把其换成空字符串(挺可怜的吧? :cool: )
声明: 本文采用 BY-NC-SA 协议进行授权 | 小小子
转载请注明转自《bash shell位置参数》
转自:http://www.xiaoxiaozi.com/2009/05/11/409/