在shell上手动运行它时工作得很好,但是当我设置一个cronjob在重新启动时运行它时,我会得到“错误的变量名”。

#! /bin/sh
# /etc/init.d/duplicityCleanUp
export PASSPHRASE=foo
duplicity remove-older-than 30D --force --gio smb://remote/archiv/
duplicity remove-all-but-n-full 1 --force --gio smb://remote/archiv/
unset PASSPHRASE

最佳答案

#!/bin/sh之间有一个空格。我不认为这是报告问题,但需要修理。
我猜您使用的是Unix或Linux版本,其中/bin/sh不是bash,所以
导出语法错误。
把你的剧本改成

PASSPHRASE=foo
export PASSPHRASE

查看此答案UNIX export command

09-27 14:45