本地化bash脚本的安全方法?

时间:2012-02-27 20:11:21

标签: bash localization

BashFAQ of Gregs's Wiki中,写着以下内容:

  

不要标记包含变量或其他替换的字符串。

  

Bash(至少达到4.0)在其他替换之前执行语言环境扩展。因此,在这种情况下:

echo "The answer is $answer"
  

文字字符串$ answer将成为标记字符串的一部分。

现在我可以理解,在标记为可翻译的字符串中使用变量是安全方面的危险,如http://www.gnu.org/software/gettext/manual/html_node/bash.html中所述。 然而,既不删除变量也不拆分字符串是可行的,因为这使翻译变得困难/不可能(因为例如俄语,法语,德语和英语中的句子结构不同)。

所以我的问题是:是否存在任何理智且安全的bash本地化方式,或者在本地化方面是否使用更具表现力的编程语言(如Python,Ruby或Perl)?

1 个答案:

答案 0 :(得分:1)

http://www.linuxtopia.org/online_books/advanced_bash_scripting_guide/localization.html看起来像是使用gettext进行Bash本地化的好教程,但我还没有使用它。