我正在尝试编写一个 shell 脚本来调用另一个脚本,然后执行 rsync 命令。第二个脚本应该在自己的终端中运行,因此我使用gnome-terminal -e "..."命令。该脚本的参数之一是一个字符串,其中包含应提供给 rsync 的参数。我将它们放入单引号中。到目前为止,一切都工作正常,直到 rsync 参数之一是包含空格的目录路径。我尝试了“、”、\“、\”的多种组合,但脚本要么根本不运行,要么只采用路径的第一部分。
这是我正在使用的代码的稍作修改的版本
gnome-terminal -t 'Rsync scheduled backup' -e "nice -10 /Scripts/BackupScript/Backup.sh 0 0 '/Scripts/BackupScript/Stamp' '/Scripts/BackupScript/test' '--dry-run -g -o -p -t -R -u --inplace --delete -r -l '\''/media/MyAndroid/Internal storage'\''' "
Run Code Online (Sandbox Code Playgroud)
在此命令中Backup.sh运行
rsync $5 "$path"
Run Code Online (Sandbox Code Playgroud)
其中目的地$path是根据 中的文本计算的Stamp。
如何实现这三层嵌套引用?
这些是我刚才看到的一些问题(我之前也尝试过其他来源)
我未能成功地将解决方案应用于我的问题。