【发布时间】:2022-08-14 09:12:38
【问题描述】:
我写了一个for 循环来获取尚未安装的工具的数量。这是我的代码:
#!/bin/bash
DIALOG_INSTALLED=$(which dialog)
BREW_INSTALLED=$(which brew)
TELNET_INSTALLED=$(which telnet)
UNINSTALLED_TOOLS=0
for installed_for in $DIALOG_INSTALLED $BREW_INSTALLED $TELNET_INSTALLED; do
if [[ -z $installed_for ]]; then
let \"$UNINSTALLED_TOOLS+=1\"
fi
done
echo $UNINSTALLED_TOOLS
我的问题是,当我去运行代码时,$UNINSTALLED_TOOLS 仍然等于 0。要找到问题的根源,$UNINSTALLED_TOOLS=3 在 for 循环之前和之后。这两个调整都将$UNINSTALLED_TOOLS 的最终值更改为3。现在我知道问题出在for 循环中。就好像代码跳过了for 循环。我没有收到任何语法错误,所以我很困惑。
任何帮助表示赞赏。