echo $? 这个东东$?在linux系统里是什么含义?

2024-11-29 06:18:53
推荐回答(3个)
回答1:

首先要明确$符号用在什么地方,使用在不同的地方,其所代表的定义也就不同。比如在bash里$符号表示当前用户为普通用户;在bash脚本里。$开头表示变量。

以下是一些特殊变量:

1、$# 表示参数个数。

2、$0 是脚本本身的名字。

3、$1 是传递给该shell脚本的第一个参数。

4、$2 是传递给该shell脚本的第二个参数。

5、$@ 表示所有参数,并且所有参数都是独立的。

6、$$ 是脚本运行的当前进程ID号。

7、$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误。

扩展资料

bash通常运行于命令行窗口中,并能执行用户直接输入的命令。Bash还能从文件中读取命令,这样的文件称为脚本。

和其他Unix shell 一样,它支持文件名替换(通配符匹配)、here文档、命令替换、变量,以及条件判断和循环遍历的结构控制语句。

包括关键字、语法在内的基本特性全部是从shell借鉴过来的。其他特性,例如历史命令,是从csh和ksh借鉴而来。总的来说,Bash虽然是一个满足POSIX规范的shell,但有很多扩展。

回答2:

shell中的特殊变量:
变量名
含义
$0
shell或shell脚本的名字
$*
以一对双引号给出参数列表
$@
将各个参数分别加双引号返回
$#
参数的个数
$_
代表上一个命令的最后一个参数
$$
代表所在命令的PID
$!
代表最后执行的后台命令的PID
$?
代表上一个命令执行后的退出状态

回答3:

echo $?

这是一个shell的变量,意思是返回上一步执行任务是否成功。

如果为 0 说明执行成功。

如果非 0 说明执行失败。