2016-10-17 8 views
0

を使用してファイルに私はこの文字列を印刷したいです。 私はそれが言う今試してみてください。印刷するには、 " n" はbashの

.asciz "0\n" 

それが0

として%dをinterpretesように、今私は単一引用符で囲まれた内側に、近代的なGNU/Linuxシステムではecho ".asciz "\""%d\\\n"\""

+0

は「 '単純'エコー」 '、.ascizの\「%d個の\ nは\」" '正常に動作する必要があります、しかしを(再現することはできませんOsmanovは、私はそれは私にファイル – chepner

答えて

1

を書くようです文字列は何も解釈されていない、あなたは、単に以下を実行できます。

echo '.asciz "%d\n"' > file 

単一引用符が内しかし、エスケープする必要があります:

echo '13'\''' 
# outputs 13' 

しかし、there are exceptions。たとえば、あなたがsome-script.shファイルにecho '1\n2'を入れて修正BASHOPTS環境変数とそれを呼び出す場合、コマンドは改行文字で\nを置き換えることがあります。だから、

$ env BASHOPTS=xpg_echo bash some-script.sh 
1 
2 

、厳密に言えば、echoは安全ではありません。また、あなたはprintfを呼び出すことができます。

printf '%s' '.asciz "%d\n"' 

または内蔵版:

builtin printf '%s' '.asciz "%d\n"' 

info bash printfを参照してください)。あなたが表示さ行が引用符で囲まれていない不一致たが、単一引用符のソリューションは、ルスランによって与えられたものの

+0

。)優れている、私は答えを更新しました。 – Louise

+0

@Louiseで改行を取得し、これを試してみました –

+0

イムスクリプトに新しい、私は高度な何かを期待していなかったので。私はに必要なテキストを書きましたファイルその後、エコーなかった代わりに、エコーFILE1 FILE2 >>、そのようなこと、感謝とにかく! – Louise

関連する問題