我还在学习如何使用bash进行编程,而且我还在尝试做一个"备份脚本" (引用因为我知道这不是一个合适的备份)这里是代码:
#|/bin/bash
sudo mkdir /home/lucas/bkp
echo "Type the path for the directory you want do save"
read directory
if [-d $directory]; then
sudo cp -R $directory /home/lucas/bkp/
else
echo "Path not found"
fi
但是我得到一个错误,说保存在变量上的路径不存在并且通过" hand"直接在shell上执行相同的命令一切都很好。这是错误:
lucas@lucas-Linux:~$ sudo sh ./ex.sh
Type the path for the directory you want do save
/home/lucas/git/
./ex.sh: 7: ./ex.sh: [-d: not found
Path not found
答案 0 :(得分:1)
你需要在你的条件中放置空格,如下所示:
if [ -d $directory ]; then