/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