从命令行导出 Shell 变量

从命令行导出 Shell 变量

我正在通过一个如下所示的脚本来玩弄口是心非的游戏:

export PASSPHRASE=SomeLongGeneratedHardToCrackKey
duplicity /etc scp://[email protected]/etc
unset PASSPHRASE

这是一个ubuntu 文档链接

如果我想从命令行设置密码而不是从脚本设置它,我该怎么做?

我尝试过(通过命令行):

PASSPHRASE='SomeLongGeneratedHardToCrackKey'

export -n PASSPHRASE

然而这不起作用。口是心非仍然要求我输入 gpg 密钥的密码。

想法? TIA,

奥莱

答案1

Shell 的设计使脚本和交互式命令行会话看起来相同。这意味着您可以有效地重新输入:

export PASSPHRASE=SomeLongGeneratedHardToCrackKey
duplicity /etc scp://[email protected]/etc
unset PASSPHRASE

由于仅导出特定命令的变量很常见,因此有一个快捷方式:

PASSPHRASE=SomeLongGeneratedHardToCrackKey \
duplicity /etc scp://[email protected]/etc

export -n不起作用,因为与解释export -n相反:exporthelp export

 ...
  -n    remove the export property from each NAME
 ...

相关内容