【问题标题】:How do I verify if required command is missing when running bash script? [closed]运行 bash 脚本时如何验证是否缺少所需的命令? [关闭]
【发布时间】:2023-04-03 02:36:01
【问题描述】:

我有以下代码来检查丢失的命令:

 All commands
 ALLCMD=(
 route
 ip
 netstat
 tar
 )

 for cmd in ${ALLCMD[*]}
  do
  if ! command -v $cmd &> /dev/null
  then
  echo "Installed"
  echo "$cmd"
  else
  echo "Missing"
  echo "$cmd"
  fi
 done

我只需要显示缺少的命令,因为建议问题已通过删除已安装部分解决

【问题讨论】:

  • 这怎么不清楚?不要在找到的箱子中打印。
  • 你认为echo "Installed" 是做什么的?

标签: bash loops command


【解决方案1】:

您在循环中有一个if 语句,并且肯定情况(条件满足)和否定情况(条件不满足)都会打印一些内容。如果您不想要这些,只需删除它们。也就是说,如果你只是从if 中删除echo 命令,bash 会抱怨:

意外标记 `else' 附近的语法错误

您可以毫无问题地删除else 分支。所以你必须翻转你的if 的条件。在您的情况下,它已经使用! 否定了条件,因此您可以删除它:

if command -v "$cmd" &> /dev/null
then
    echo "Missing"
    echo "$cmd"
fi

【讨论】:

    猜你喜欢
    • 2013-04-06
    • 2020-09-20
    • 2021-06-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-19
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多