use*_*469 5 unix bash terminal
我正在尝试进行完整备份并将所有文件从一个目录复制到另一个目录
#!/bin/bash
#getting files from this directory
PROJECTDIRECTORY=/../../Project3
#Copied to this directory
FILEBACKUPLOCATION= /../.../FMonday
for FILENAME in $PROJECTDIRECTORY/*
do
cp $FILENAME $FILEBACKUPLOCATION
done
Run Code Online (Sandbox Code Playgroud)
但我不断收到这个错误
./fullbackup: line 6: /../../FMonday: Is a directory
cp: missing destination file operand after
Run Code Online (Sandbox Code Playgroud)
bash 脚本中的变量赋值不需要在变量名和值之间或值中(除非被引用)之间没有空格。由于行中存在空格FILEBACKUPLOCATION= /../.../FMonday,因此它尝试/../.../FMonday作为FILEBACKUPLOCATION分配给空字符串的命令(导致第一个错误)执行。当另一个命令进一步尝试使用它时,变量没有被分配(考虑到第二个错误)。