bash:导出命令错误,bash:!st:未找到事件

bash:导出命令错误,bash:!st:未找到事件

当我尝试执行以下导出 SENTRY_SECRET_KEY="k(#!st-6eb2y74=@^6s7a67fy5a&@p3y=57#aszb@hs)n^vv0#" 时,出现错误“bash: !st: 未找到事件”,请给我解决方案。

答案1

使用'而不是",你的变量导出就会起作用。

'!' 被解释为历史调用,因此会在命令历史记录中搜索“st”,从而导致出现“未找到事件”消息。

您可以使用以下序列来验证这一点:

ls /etc
a="k!ls"
b='k!ls'

进而:

$ echo $a
kls /etc
$ echo $b
k!ls

答案2

请使用单引号 (') 代替双引号 (")。bash 变量中单引号内的字符串和特殊字符将按字面意思解释。例如,双引号内的 ! 或 $ 符号将被解释为特殊字符。请阅读更多文档。因此您的命令将如下所示:

export SENTRY_SECRET_KEY='k(#!st-6eb2y74=@^6s7a67fy5a&@p3y=57#aszb@hs)n^vv0#'

相关内容