更新:

更新:
/usr/bin/rsync -avh -r /Parent/Folder1 /Destination/

if [ $? == 0 ]
then
   cp /FolderCopyStatus/Success /Result/Success$(basename !:3)
else
   cp /FolderCopyStatus/Failure  /Result/Failure$(basename !:3)
fi

问题1

我正在使用 rsync 命令同步 Cent 操作系统中的两个文件夹。如果 rsync 命令成功,那么我将文件夹从 Success 目录复制到 Result 目录并附加当前日期。这工作正常

我想要的是,当我从成功复制而不是附加日期时, 文件夹1应该附加上面的命令。那么如何呢?

问题2

我已经在 crontab 中自动化了这个 shell 脚本。我想将Folder1 作为参数传递给自动化脚本中的命令。那么如何?

更新:

 if [ $? == 0 ]
    then
       cp /FolderCopyStatus/Success /Result/Success$(basename !:3)
    else
       cp /FolderCopyStatus/Failure  /Result/Failure$(basename !:3)
    fi

问题: $(basename !:3) 不适用于脚本,但适用于普通命令,例如 echo $(basename !:3)

答案1

问题1

/usr/bin/rsync -avh -r /Parent/Folder1 /Destination/ if [ $? == 0 ] then cp /FolderCopyStatus/Success /Result/Success$(basename !^) else cp /FolderCopyStatus/Failure /Result/Failure$(date +%F_%R) fi

问题2

像这样设置脚本的第一行

/usr/bin/rsync -avh -r /Parent/$1 /Destination/

然后当你调用脚本时,像这样调用它

/path/to/script Folder1

相关内容