./regen_structs_proto.sh: line 5: [: missing `]'
grep: ]: No such file or directory
./regen_structs_proto.sh: line 5: [: missing `]'
grep: ]: No such file or directory
当我运行以下 Bash 脚本时,我收到上述错误(第 5 行是下面脚本的第一行):
#!/bin/sh
if [ docker --version | grep -q "Docker version" ]; then
echo "Check that docker is installed: confirmed."
else
if [ lsb_release -si | grep -q "Linux" ]; then
if [ lsb_release -si | grep -q "Ubuntu" ]; then
apt-get update;
apt-get install -y docker;
elif [ lsb_release -si | grep -q "Manjaro" ]; then
sudo pacman -S --needed docker;
else
echo "installation for Docker is not configured for your OS, please install manually and make a pull request to install in this script for your OS";
fi
fi
fi
如何修复这些错误?我已经三重检查了括号周围的间距是否正确。
括号test
。如果不需要test
,则不要使用括号。
if docker ... | grep ... ; then
...
fi