小编Deg*_*ran的帖子

shell脚本中的三重嵌套引号

我正在尝试编写一个 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

如何实现这三层嵌套引用?

这些是我刚才看到的一些问题(我之前也尝试过其他来源)

我未能成功地将解决方案应用于我的问题。

linux string bash shell nested

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

bash ×1

linux ×1

nested ×1

shell ×1

string ×1