首页 > 试题广场 >

关于参数处理,不正确的是?

[单选题]
关于参数处理,不正确的是?
  • $#表示传递到脚本的参数个数
  • $$脚本运行的当前进程ID号
  • $!后台运行的第一个进程ID号
  • $?显示最后命令的退出状态
$#      传递到脚本的参数个数
$*      以一个单字符串显示所有向脚本传递的参数。
           如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$$      脚本运行的当前进程ID号
$!      后台运行的最后一个进程的ID号
$@   与$*相同,但是使用时加引号,并在引号中返回每个参数。
         如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$-     显示Shell使用的当前选项,与set命令功能相同。
$?    显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
发表于 2020-03-04 20:56:05 回复(2)
$! 后台运行的最后一个进程的进程ID
发表于 2020-07-17 16:41:42 回复(0)
 登录  木木统 关注 Linux中的$符号的三种常见用法 原创 2019-08-21 16:40:52  26点赞  木木统  码龄4年 关注 本文总结了Linux中的$符号的各种用法 用法一: 显示脚本参数($0、$?、$*、$@、$#、$$、$!)(本质上属于变量替换) $0:就是该bash文件名,个位数的,可直接使用数字,但两位数以上,则必须使用 {} 符号来括住,如${10}. $?:是上一指令的返回值,成功是0,不成功是1。一般来说,UNIX(linux) 系统的进程以执行系统调用exit() 来结束的。这个回传值就是status值。回传给父进程,用来检查子进程的执行状态。一般指令程序倘若执行成功,其回传值为 0;失败为 1。 $*:所有脚本参数的内容:就是调用调用本bash shell的参数。 $@:基本上与上面相同。只不过是“$*”返回的是一个字符串,字符串中存在多外空格。 “$@”返回多个字符串。 $#:返回所有脚本参数的个数。 $$ :Shell本身的PID(ProcessID),即当前进程的PID。 $! :Shell最后运行的后台Process的PID $- :使用Set命令设定的Flag一览
发表于 2021-02-23 18:11:53 回复(0)
shell中$0, $#, $*, $@, $?, $$的含义
$0    当前脚本的文件名
$n    传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。
$#    传递给脚本或函数的参数个数。
$*    传递给脚本或函数的所有参数。
$@    传递给脚本或函数的所有参数。
$?    上个命令的退出状态,或函数的返回值。
$$    当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。
$!    Shell最后运行的后台Process的PID
$-    显示Shell使用的当前选项,与set命令功能相同。

$* 和 $@ 的区别        $* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(" “)包含时,都以”$1" “2"…"2"…"n” 的形式输出所有参数
当它们被双引号(" “)包含时,”$*" 会将所有的参数作为一个整体,以"$1 $2 … n"的形式输出所有参数;"n"的形式输出所有参数;"@" 会将各个参数分开,以"$1" “2"…"2"…"n” 的形式输出所有参数。
发表于 2020-08-04 20:30:12 回复(0)
$!   Shell最后运行的后台Process的PID
发表于 2020-05-13 07:58:40 回复(0)