小编Del*_*lta的帖子

如果在脚本内部调用,Rsync 的行为会有所不同

所以,我正在编写一个备份脚本,并想跳过 .iso 文件。

如果我从命令行使用命令,一切正常:

rsync -a --delete --exclude='*.iso' /home/user/Desktop/Work /mnt/profile/Desktop/
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试在我的脚本中使用它时,没有获得“排除”设置,并继续复制 .iso 文件。这是脚本:

#!/bin/bash
set -e

SRC_DIR="/home/user/Desktop/Work"
DST_MOUNTPOINT="/mnt/profile"
DST_DIR="/mnt/profile/Desktop/"
OPTIONS=" --exclude='*.iso' "

mountpoint -q $DST_MOUNTPOINT || mount $DST_MOUNTPOINT

rsync -a --delete $OPTIONS $SRC_DIR $DST_DIR
Run Code Online (Sandbox Code Playgroud)

如果我运行脚本,获取它的 PID 并检查 /proc/PID/cmdline,排除设置就在那里。

我做错了什么?

scripting bash shell-script

2
推荐指数
1
解决办法
3858
查看次数

标签 统计

bash ×1

scripting ×1

shell-script ×1