[Linux]:bash shell位置参数
2011-09-24 22:49
274 查看
$*和$@只有在被引号包裹时才有区别,比如
传进去的参数为 "abc bcd" "ddd"
则
"$*"="abc bcd ddd"
"$@"="abc bcd" "ddd"
转自:http://blog.sina.com.cn/s/blog_62c5db6e0100hpp8.html
可以使用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: )
声明: 本文采用
BY-NC-SA 协议进行授权 | 小小子
转载请注明转自《bash shell位置参数》
转自:http://www.xiaoxiaozi.com/2009/05/11/409/
传进去的参数为 "abc bcd" "ddd"
则
"$*"="abc bcd ddd"
"$@"="abc bcd" "ddd"
转自:http://blog.sina.com.cn/s/blog_62c5db6e0100hpp8.html
可以使用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: )
声明: 本文采用
BY-NC-SA 协议进行授权 | 小小子
转载请注明转自《bash shell位置参数》
转自:http://www.xiaoxiaozi.com/2009/05/11/409/
相关文章推荐
- Linux Bash shell位置参数和命令行参数
- [Linux]:Bash shell中的位置参数$#,$*,$@,$0,$1,$2...及特殊参数$?,$-等的含义
- LINUX BASH SHELL位置变量与特殊变量参数
- Linux Bash Shell学习(六):设置环境参数
- Linux入门.2_shell位置参数
- [Shell]Bash变量:自定义变量 & 环境变量 & 位置参数变量 & 预定义变量
- Linux Bash Shell学习(五):特殊文件、别名、选项和参数
- Bash Shell 位置参数和内部参数
- [linux device driver] Chapter 03:以scull_load为引,详解Bash的位置参数和内部参数
- linux下shell中if的相关参数以及$位置参数的数量
- Linux--Shell 编程-bash,命令替换,if分支嵌套,运算,输入输出
- Linux操作系统基础解析之(七)——Bash(Shell)基础知识(2)
- Linux下Bash编程之位置和特殊变量(四)
- linux bash shell常用文件操作命令
- Linux Bash Shell学习(一):开始看书《Learning the bash Shell,3rd》
- linux bash Shell脚本经典之Fork炸弹解析:() { :|:& };:
- Linux Bash Shell预处理通配符
- linux超级基础系列——什么是shell? bash和shell有什么关系?(转)
- linux bash shell中,单引号、 双引号,反引号(``)的区别及各种括号的区别
- Linux bash shell脚本语法入门