Linux 基本Bash备份脚本
我还在学习如何在bash中编程,为了练习,我正在尝试做一个“备份脚本”(引用,因为我知道这不是一个正确的备份),下面是代码:Linux 基本Bash备份脚本,linux,bash,shell,Linux,Bash,Shell,我还在学习如何在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
#|/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
但是我得到一个错误,说保存在变量上的路径不存在,并且直接在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
您需要在您的条件中放置空格,如下所示:
if [ -d $directory ]; then
您在
[
之后缺少空格,正确的是[-d$directory]
。非常感谢您,为这个愚蠢的错误感到抱歉。哈哈。不过无论如何,很高兴了解到这一点。再次感谢