【问题标题】:export in bash with printf doen't work使用 printf 在 bash 中导出不起作用
【发布时间】:2014-02-02 02:59:10
【问题描述】:

我导出了:

export FMTSTR="%2\$n'printf "\xc0\xf2\x03\x42";'"

我想看看结果:

env | grep FMTSTR
FMTSTR=%2$n'printf xc0xf2x03x42;'

但这不是我想要的……结果一定是:

‫‪FMTSTR=%2$nTB‬‬

你能告诉我问题是什么吗? 其次,我可以使用 python 代替 printf 吗?像这样:

export FMTSTR="%2\$n $(python -c 'print "\xc0\xf2\x03\x42"')"

当我使用 python 时,结果是:

FMTSTR=%2$n ��B

为什么? 请帮我解决这两个问题。

谢谢...

【问题讨论】:

  • 你能告诉我们一个“理想的输出”吗?你希望它最终等于什么?
  • 我告诉朋友。结果一定是:FMTSTR=%2$nTB
  • 为什么在设置变量时要转义十六进制文字?
  • 什么意思?没看懂,见谅
  • 你能给我举个例子吗?

标签: python linux bash export env


【解决方案1】:

这并不完全正确(由于您的问题的性质),但我觉得使用它可能会更好:

export FMTSTR=`python -c 'print "%2$n\xc0\xf2\x03\x42"'`

现在,\xc0\xf2\x03 没有对应的 ascii。我不确定您对输出 TB 的期望如何。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-05
    • 1970-01-01
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-11
    相关资源
    最近更新 更多