You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash脚本条件逻辑实现:如何依据Retrieve_api_key执行结果选择执行命令

正确实现Bash脚本的条件判断逻辑

你的原脚本条件判断逻辑完全错误,[ "$Retrieve_api_key" -x "$Create_retrieve_api_key" ]是在检查第二个参数对应的路径是否为可执行文件,和你要实现的“执行命令并判断结果”需求完全不相关。

要实现「若Retrieve_api_key命令成功执行且有输出则跳过创建,否则执行Create_retrieve_api_key」的逻辑,正确的脚本实现如下:

# 执行获取API Key的命令,捕获输出并屏蔽错误信息
api_key_result=$($Retrieve_api_key 2>/dev/null)
# 获取命令的退出状态码(0表示执行成功)
retrieve_status=$?

# 判断:命令执行成功 且 输出内容不为空
if [ $retrieve_status -eq 0 ] && [ -n "$api_key_result" ]; then
    echo "API Key获取成功,无需执行创建操作"
    # 可选:在这里使用获取到的结果,比如 echo "获取到的Key: $api_key_result"
else
    echo "API Key获取失败,执行创建命令"
    $Create_retrieve_api_key
fi

关键说明:

  • $($Retrieve_api_key 2>/dev/null):执行变量中存储的命令,将标准错误输出重定向到/dev/null避免干扰,同时把标准输出捕获到变量api_key_result中
  • retrieve_status=$?:获取上一条命令的退出状态码,Bash中0代表命令执行成功,非0代表失败
  • [ $retrieve_status -eq 0 ] && [ -n "$api_key_result" ]:同时满足两个条件才会跳过创建操作:命令执行成功,且有实际输出内容
  • 若不满足条件,直接执行$Create_retrieve_api_key变量中存储的创建命令

内容的提问来源于stack exchange,提问作者Dannymay VEVO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 05:10:33