cp:之后缺少目标文件操作数

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)

use*_*469 8

bash 脚本中的变量赋值不需要在变量名和值之间或值中(除非被引用)之间没有空格。由于行中存在空格FILEBACKUPLOCATION= /../.../FMonday,因此它尝试/../.../FMonday作为FILEBACKUPLOCATION分配给空字符串的命令(导致第一个错误)执行。当另一个命令进一步尝试使用它时,变量没有被分配(考虑到第二个错误)。


sla*_*fer 2

我认为这就是你需要的FILEBACKUPLOCATION=/FMonday/