Bash-Script错误0 = 1:找不到命令

时间:2018-04-29 22:41:55

标签: linux bash

我刚刚开始使用bash的一些脚本。 现在我遇到了以下错误:

  • 0 = 1:在第9行找不到命令。
  • 主页*错误:第17行找不到命令

我想查看我的脚本是否存在主目录和后来的其他目录,并且拥有正确的权限。

我已经使用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

1 个答案:

答案 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