srkp.net
当前位置:首页 >> Linux shEll 脚本中, $@ 和$# 分别是什么意思? >>

Linux shEll 脚本中, $@ 和$# 分别是什么意思?

$? 上个命令的退出状态,或函数的返回值。 例子1 : ls 命令没有找到匹配的结果. 所以返回2 $? 就是2 [root@sg-rhel6-17 etc]# ls /tmp/*.log ls: cannot access /tmp/*.log: No such file or directory [root@sg-rhel6-17 etc]# echo $? 2 例子2...

举例说: 脚本名称叫test.sh 入参三个: 1 2 3 运行test.sh 1 2 3后 $*为"1 2 3"(一起被引号包住) $@为"1" "2" "3"(分别被包住) $#为3(参数数量)

相同点:都是引用所有参数 不同点:只有在双引号中体现出来 假设你的脚本运行时你写了三个参数 分别存储在$1 $2 $3中 则"$*" 等价于 “$1 $2 $3" ---》传递了一个参数 而“$@" 等价于 "$1" "$2" "$3" ---》传递了三个参数

精确来讲,两者只有在 soft quote 中才有差异,否则,都表示"全部参数"( $0 除外)。 若在 command line 上跑 my.sh p1 "p2 p3" p4 的话, 不管是 $@ 还是 $* ,都可得到 p1 p2 p3 p4 就是了。 但是,如果置於 soft quote 中的话: "$@" 则可得到...

ll程序呢? 简单的说shell程序就是一个包含若干行 shell或者linux命令的文件. 象编写高级语言的程序一样,编写一个shell程序需要一个文本编辑器.如VI等. 在文本编辑环境下,依据shell的语法规则,输入一些shell/linux命令行,形成一个完整 的程序文件...

$0就是该bash文件名 $?是上一指令的返回值 $*所有位置参数的内容:就是调用调用本bash shell的参数。 $@基本上与上面相同。只不过是 “$*”返回的是一个字符串,字符串中存在多外空格。 “$@”返回多个字符串。

$实际上可以理解为对变量的引用。 比如:定义a=10 那么你调用变量a的时候就要用到$a. 还有一些其他的特殊变量 比如 $? 表示返回值 $# 表示变量个数 等等 多写几个脚本程序你就会理解了

awk -F '[@]' '{print $2}' echo $var|awk '{print "@"$0"@"}' @...@ 这写法还没见过 如果有的话 LZ可以举下例子 学习下

你这是makefile文件,makefile文件里面用@表示使用shell的命令。 比如@echo就是使用shell里面的echo命令,makefile本身是没有echo命令的

网站首页 | 网站地图
All rights reserved Powered by www.srkp.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com