1

http://www.grymoire.com/Unix/Quote.htmlに特殊文字のリストが表示されます。エコーの後に来るすべてを文字列として扱うことができるエコーのパラメーター/オプションはありますか?

Python では、"""..."""orを使用できます'''...'''

$ python
>>> text = '''#"`\|^!@#@%$#$^%$&%^*()?/\;:$#$@$?$$$!&&'''
>>> print text
#"`\|^!@#@%$#$^%$&%^*()?/\;:$#$@$?$$$!&&

unix の echo で同じことができますが、 ではできませ'''"""。なぜですか?

$ echo #"`\|^!@#@%$#$^%$&%^*()?/\;:$#$@$?$$$!&&

$ echo '''#"`\|^!@#@%$#$^%$&%^*()?/\;:$#$@$?$$$!&&'''
#"`\|^!@#@%$#$^%$&%^*()?/\;:$#$@$?$$$!&&

$ echo """'''#"`\|^!@#@%$#$^%$&%^*()?/\;:$#$@$?$$$!&&"""
bash: !@#@%$#$^%$: event not found

このような文字列があるとどうなりますか?

#"`\|^!@#@%$#$^%'''$&%^*()?/\;:$#$"""@$?$$$!&&

そのような文字列をどのようにエコーする必要がありますか? (次のコマンドは機能しません)

echo '''#"`\|^!@#@%$#$^%'''$&%^*()?/\;:$#$"""@$?$$$!&&'''
4

3 に答える 3

0

二重引用符を展開/解釈するシェル(bash)が原因だと思います。これは単一引用符には適用されません。詳しくはBash-Shell Expansionをご覧ください。

echoコマンドには、バックスラッシュエスケープの解釈を有効にするオプション-eがあります-これは役立つかもしれません。

于 2013-08-20T12:10:43.817 に答える