所以我有一个shell脚本来做一些懒惰的事情,如果目录没有为用户改变。它在下面。本质上,它应该是一个if语句,如果用户为目录输入“default”,它将把它们拉到文件的默认目录。但是,我在第16行得到command not found
,这是重新分配的声明。
以下全部if
声明:
if [ $directory = "default" ];
then
echo Enter your ldap:
read $ldap
$directory = "/usr/local/home/google/${ldap}/Downloads"
fi
我已经尝试过没有美元符号了......没事。这里发生了什么? shell的新手,之前找不到这个问题。
答案 0 :(得分:1)
这是你应该如何为shell中的变量赋值:
directory="/usr/local/home/google/${ldap}/Downloads"
$
)标志。=
)。此外,您应该将变量包装在双引号("
)中。这样,您可以避免使用未定义的变量,带空格的参数等错误。
这给了我们:
if [ "$directory" = "default" ]
then
echo "Enter your ldap:"
read $ldap
directory="/usr/local/home/google/${ldap}/Downloads"
fi