www.yznl.net > 在BAsh shEll里 $0 $? $* $@ 各表示什么意思?

在BAsh shEll里 $0 $? $* $@ 各表示什么意思?

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

$? 表示上一行命令运行后的返回值 $* 表示传入脚本的所有参数数组 $# 表示传入脚本的参数的个数

这是linux中shell的变量,$0只是其中的一个。下面是常用的shell变量:$0 Shell本身的文件名 $1~$n 添加到Shell的各参数值。$1是第1参数、$2是第2参数… $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的...

$0代表当前使用的shell echo $0就能显示当前你用的是bash还是csh等 $1,$2一般代表你使用的命令的参数 比如./test.sh 3 4 这个时候,3就是$1的值,4就是$2的值 $?代表上一条命令的返回值,真为1,假为其他值

给你个全的,你在Linux环境下多试下就明白了: $0 这个程式的执行名字 $n 这个程式的第n个参数值,n=1..9 $* 这个程式的所有参数,此选项参数可超过9个。 $# 这个程式的参数个数 $$ 这个程式的PID(脚本运行的当前进程ID号) $! 执行上一个背景指令...

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

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

Linux shell 脚本中, $@ 和$# 分别是: $@:表示所有脚本参数的内容 $#:表示返回所有脚本参数的个数。 示例:编写如下shell脚本,保存为test.sh #!/bin/sh echo "number:$#" echo "argume:$@" 执行脚本: ./test.sh first_arg second_arg 说明:...

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

网站地图

All rights reserved Powered by www.yznl.net

copyright ©right 2010-2021。
www.yznl.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com