2011-01-28 3 views
1

私はここでtrと解釈されずに8進値を表示しますか?

./script "test\42" 

を持っては、サンプルスクリプトです:

#!/bin/sh 
echo "$1" 

それは私を与える:

test" (42 being interpreted as an ASCII octal value, 42 = ") 

私は

test\42 (instead test" ?) 

を表示するために行うことができますどのようにの助けtr(Unixコマンドを翻訳する)?

+0

私は、TRタグが何を表すかを知ってもいいですか?私はSO上のタグwikiを無駄にしようとしました。 – evandrix

+0

おそらくtr(translate)unixプログラムです。 http://www.softpanorama.org/Tools/tr.shtml – I82Much

+0

これはLinuxでbashやcshで再現できません。あなたはどのシェルとOSを使用していますか?引数値をエコーするよりもスクリプトに何かがありますか? –

答えて

0

は、単一引用符を使用していずれかを試してみてください:

./script 'test\42' 

やスラッシュをエスケープ:

./script "test\\42" 
+0

簡単な引用符で同じ結果が得られます。問題は私がスラッシュをエスケープすることができないことです:/ – Unitech

+0

スクリプトの中で一重引用符を使用しても( 'echo'行で) – yan

+0

echo '$ 1'を置くと変数が解釈されません – Unitech