尝试执行路径中带有空格的 cron 脚本时出错

尝试执行路径中带有空格的 cron 脚本时出错

我有一个包含多个 rsync 命令的脚本。脚本文件位于 NTFS 分区中,所有者和组权限设置为 root。

我使用以下命令从终端手动运行该文件没有任何问题:

"/mnt/Files/Software/Software Customizations/Linux/Scripts/rsync_backup.sh"

crontab 条目是(我的 crontab,不是 root):

0 15 * * 6 export DISPLAY=:0 && gnome-terminal -e "/mnt/Files/Software/Software Customizations/Linux/Scripts/rsync_backup.sh"

但执行该文件时出现以下错误

There was an error creating a child process for this terminal.
Failed to execute child process "/mnt/Files/Software/Software" (Permission denied)

截屏:

截图错误

你能告诉我问题是什么吗?看起来不像是权限问题,因为我可以在不使用 sudo 的情况下执行文件,并且屏幕截图中的路径只是部分路径,这让我相信这是空格问题。

答案1

尝试转义路径中的空格:

0 15 * * 6 export DISPLAY=:0 && gnome-terminal -e "/mnt/Files/Software/Software\ Customizations/Linux/Scripts/rsync_backup.sh"

相关内容