2012-02-27 23 views
2

は、以下のことが書かれている:bashスクリプトを安全にローカライズするには? <a href="http://mywiki.wooledge.org/BashFAQ/09" rel="nofollow">BashFAQ of Gregs's Wiki</a>で

変数または他の置換を含む文字列をマークしないでください。

バッシュは、(少なくとも最大4.0介して)他の置換前ロケール拡張を行います。したがって、このような場合には:

echo "The answer is $answer" 

リテラル文字列$答えは、マークされた文字列の一部となります。

今私はhttp://www.gnu.org/software/gettext/manual/html_node/bash.htmlで説明したように翻訳対象としてマークした文字列で変数を使用すると、セキュリティワイズ危険であることを理解することができます。 しかし、(例えば、ロシア語、フランス語、ドイツ語、英語の文構造が異なるため)翻訳を困難/不可能にするので、変数の削除もストリングの分割も実行可能ではありません。

私の質問は次のとおりです。bashローカリゼーションの安全で安全な方法が存在するのですか、ローカリゼーションに関してより表現力の高いプログラミング言語(Python、Ruby、Perlなど)を使用していますか?

+0

答えを投稿するには十分ではありませんが、http://www.linuxtopia.org/online_books/advanced_bash_scripting_guide/localization.htmlが役に立ちます –

+0

@David Southerご意見ありがとうございました。これは本当に役に立ちました。情報が最新のものであれば、それはまさに私が探していたものです。将来の読者のために、ここで私が見つけたbashローカリゼーションに関する別のリンクがあります:http://www.linuxjournal.com/content/internationalizing-those-bash-scripts。残念なことに、彼らはセキュリティについても、非常に有用なgettext.shスクリプトについても書いていません。 – Inkane

+0

私はそれを答えとして追加します:) –

答えて

関連する問題

 関連する問題