我刚刚开始使用bash的一些脚本。 现在我遇到了以下错误:
我想查看我的脚本是否存在主目录和后来的其他目录,并且拥有正确的权限。
我已经使用Google和Stack Overflow进行了搜索,但我没有找到答案。首先,我在变量和它们的赋值之间有太多的空格。这个错误我认为我已修复,但仍有其他错误,我没有找到答案。
感谢您的帮助,在这里您可以从脚本中看到我的代码:
#!/bin/bash
users=(Hans Peter Alfred Georg Stefan Albert Christine)
for user in ${users[@]};
do
nutzerVerzeichnis="0"
if [ -d "/home/${user}" ]
then
${nutzerVerzeichnis}="1"
echo $home_dir
fi
if [ "${nutzerVerzeichnis}" -eq "1" ]
then
"Home ${user} ok">>/root/skript/permission.log
else
"Home ${user} Error">>/root/skript/permission.log
fi
done
exit 0
答案 0 :(得分:0)
在这一行:
${nutzerVerzeichnis}="1"
你告诉它要评估nutzerVerzeichnis的值为0.因此它与写作相同。
0=1
如果您尝试为其分配值,请将$ {}留给此
nutzerVerzeichnis="1"
您的代码中还有一些其他错误。这是更正后的代码。
#!/bin/bash
users=(Hans Peter Alfred Georg Stefan Albert Christine)
for user in "${users[@]}";
do
nutzerVerzeichnis="0"
if [ -d "/home/${user}" ]
then
nutzerVerzeichnis="1"
echo "$home_dir"
fi
if [ "${nutzerVerzeichnis}" -eq "1" ]
then
echo "Home ${user} ok" >> /root/skript/permission.log
else
echo "Home ${user} Error" >> /root/skript/permission.log
fi
done
exit 0