Linux命令如何获取返回值(linux获取返回值)
linux命令如何获取返回值
Linux是一种强大的操作系统,它拥有强大的终端,可以使用Linux命令来执行操作。Linux命令可以用来获取返回值。本文将简要介绍如何获取返回值,以便帮助Linux新手快速了解此内容。
首先,介绍Linux命令获取返回值的基本方法。 在Linux终端中,当我们输入一个命令并执行它时,它会返回一个状态码(状态码含义可以参考man文档)。我们可以用 $? 来获取这个状态码值,也就是返回值。示例如下:
$ lsb_release -a
No LSB modules are available. Distributor ID: Ubuntu
Description: Ubuntu 20.04 LTSRelease: 20.04
Codename: focal
$ echo $?0
由于上面输入的命令执行成功,返回值为0。它代表操作成功。操作失败时,返回值为非零值,例如:
$ invalidcommand
bash: invalidcommand: command not found
$ echo $?127
另一个可以获取返回值的方法是使用 “echo $!” 。不同于$? , “echo $!”可以返回上一个执行成功的命令的PID(进程ID)。示例如下:
$ lsb_release -a
973
$ echo $!
973
上面的代码中, $! 的值是 973,它代表 lsb_release来自的PID。
最后,介绍如何使用shell函数获取返回值。在Linux bash shell中,你可以定义shell函数,shell函数执行后,可以返回特定值,可以使用$?来捕获返回值。示例如下:
#!/bin/bash
versioncode(){
echo “3.2.1”
}
versioncode
echo $?
上面的代码将会输出 "3.2.1" 和 0,因为此shell函数执行成功,返回值为0
总的来说,使用$?来获取返回值是最常用的方法,也是获取最有效的方式。可以使用这个短语来获取当前shell 命令的状态,用以判断该操作是否执行成功。同样,如果需要了解上一次命令的PID,可以使用echo $!来获取。