在 Shell 中,可以使用 `command` 命令来判断一个命令是否存在,并将结果保存到变量中。具体方法如下:
```
if command -v >/dev/null 2>&1; then
echo " exists"
cmd_path=$(command -v )
elif command -v >/dev/null 2>&1; then
echo " exists"
cmd_path=$(command -v )
else
echo "Neither nor exists"
fi
```
其中,`` 和 `` 分别是要判断的两个命令名称。这个代码会先尝试查找 `` 命令,如果存在,则将其位置信息保存到 `cmd_path` 变量中;否则尝试查找 `` 命令,如果存在,则同样将其位置信息保存到 `cmd_path` 变量中。
如果两个命令都不存在,则输出一条错误信息。
上面的代码中,`>/dev/null 2>&1` 的作用是将标准输出和标准错误输出都重定向到 `/dev/null` 中,这样就不会在屏幕上显示任何输出了。如果不加这个重定向,当命令不存在时,会在屏幕上显示一条错误信息。