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

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

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

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

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

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

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

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

在makefile文件中,@$符号代表什么意思? archclean: @$(MAKEBOOT) clean 或者 checkbin: @ /bin/ture @ true 这里面 @$和@代表着什么意思啊? $(MAKEBOOT) 是变量 MAKEBOOT 的值, @表示在make时不输出make的信息(类似Windows下的echo off)。 ...

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

$? 上个命令的退出状态,或函数的返回值。 例子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,脚本如下: #!/bin/sh echo "$#" 则执行该脚本,后跟a,b,c三个参数,结果输出为3 $./test a b c 3

网站地图

All rights reserved Powered by www.yznl.net

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