prss.net
当前位置:首页 >> linux shEll 中这两个$* $@有啥区别呀.. >>

linux shEll 中这两个$* $@有啥区别呀..

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

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

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

$?不能返回值,$?只能在return语句返回后再取出返回值 如果没有return语句,$?表示最后一条shell语句的返回值

我没用过$@,但是可以自己写个脚本测试下。 先介绍下我知道的,如下: 位置变量 :$0,$1,$2,$3,$4,$5,$6,$7,$8,$9 $0显示运行的脚本,$1...显示位置参数的值 预定义变量: $# 表示位置参数的数量 $* 表示所有位置参数的内容 $? 表示命令执行后返...

linux shell脚本中的美元符号$,是作为shell中特殊变量使用的,具体含义: $0 shell的命令本身(包括完整路径) $1到$9 数字表示shell 的第几个参数 $# 传递到脚本的参数个数 $* 以一个单字符串显示所有向脚本传递的参数 $$ 脚本运行的ID号 $! 后...

一般来说,shell可以分成两类。第一类是由Bourneshell衍生出来的包括 sh,ksh,bash,与zsh。第二类是由Cshell衍生出来的,包括csh与 tcsh。除此之外还有一个rc

如果你是通过一个进程的名字作为关键词来查找进程是否存在的话,可使用 ps -ef | grep "" | wc -l 输出为0表示不存在,输出大于0,表示存在,且数字就是这个关键词进程的个数; 如果你是通过进程号PID来查找进程是否存在,可以使用 ps --no-head...

美元符加字符串是引用变量值,而美元符加数字表示命令行参数。 比如: bash$ ./hello.sh build test脚本中$0的值就是。/hello.sh,$1的值是build,$2的值是test。 bash$ list.sh -sh --debug /home/user。脚本中$0的值就是list.sh,$1的值是-sh...

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