首页 > linux > bash shell位置参数
2009五月11

bash shell位置参数

可以使用varname=value的语句定义变量值。

例如:

wel="welcome to 小小子"
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

#!/bin/bash
echo "alice: $@"
echo "$0: $1 $2 $3 $4"
echo "$# arguments"

假如我鍵入命令/alice.sh welcome 小小子(这里welcome和小小子就是alice脚本的两个参数)

执行结果为:

alice: welcome 小小子
./alice.sh: welcome 小小子
2 arguments

这里$3和$4未设置,将把其换成空字符串(挺可怜的吧? :cool: )

文章作者:simaopig
本文地址:http://www.xiaoxiaozi.com/2009/05/11/409/
版权所有 © 转载时必须以链接形式注明作者和原始出处!

13 Responses to “bash shell位置参数”

  1. #1 ABitNo 回复 | 引用 Post:2009-05-12 11:00

    不错,我也是个Linux的
    http://abitno.linpie.com

    [回复]

  2. #2 simaopig 回复 | 引用 Post:2009-05-12 12:09

    @ABitNo
    呵,好啊。这就去你那看看。

    没事来玩,互相学习。呵。 :lol:

    [回复]

  3. #3 ABitNo 回复 | 引用 Post:2009-05-12 12:34

    @simaopig
    经常来看看的。。。

    [回复]

  4. #4 simaopig 回复 | 引用 Post:2009-05-12 13:40

    @ABitNo
    呵,以后互相走动.没事我也会去你那玩的.呵.

    [回复]

  5. #5 小明猪 回复 | 引用 Post:2009-05-12 14:18

    大家都没事来玩,我也来玩,一起加动力~

    [回复]

  6. #6 simaopig 回复 | 引用 Post:2009-05-12 14:29

    @小明猪
    呵呵。一起发水吧?呵呵。。
    现在忙啥呢? :arrow:

    [回复]

  7. #7 hew 回复 | 引用 Post:2009-05-12 19:10

    我是来参观的。

    [回复]

    simaopig 回复:

    呵,没事常来吧。多多指教。。

    [回复]

  8. #8 Sean[祭奠青春] 回复 | 引用 Post:2009-05-12 20:40

    一个 bash shell可以帮你完成好多事情!

    [回复]

  9. #9 bolo 回复 | 引用 Post:2009-05-12 21:22

    这是什么语言?小小子你真是太高深了

    [回复]

  10. #10 Sean[祭奠青春] 回复 | 引用 Post:2009-05-12 21:33

    @bolo
    linux shell 呵呵 和windows下的批处理差不多!

    [回复]

  11. #11 simaopig 回复 | 引用 Post:2009-05-12 21:36

    @Sean[祭奠青春]
    呵,是啊,所以我现在在努力的学习中。。

    @bolo
    呃,linux的脚本语言。。

    @Sean[祭奠青春]
    嗯。可以这么说吧。呵。

    [回复]

  12. #12 chris 回复 | 引用 Post:2010-05-28 11:06

    个人很喜欢linux,一切都在自己的控制中,不会像ms,像个小傻瓜是的 :mrgreen:

    [回复]

发表评论

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)