長いテキストをシェルに入れるには?

長いテキストをシェルに入れるには?

例えば

$ gcc -Wall abc.c

$ ./a.out <font name="Moronicity" size=12><!-- ignore this comment --><i></i>
<div style="aa">hello</div></font><img src="spacer.gif">
<div style="bb"><img src="spacer.gif"></div>

-bash: 予期しない表示 "<" 付近で構文エラーが発生しました。

このエラーは引き続き発生します。

ベストアンサー1

このHTMLテキストが必要な場合範囲プログラムに追加してからシェルから保護するためにこれを引用する必要があります(シェルは、小記号をリダイレクトとして扱うなど)。

./a.out '<font name="Moronicity" size=12><!-- ignore this comment --><i></i>
<div style="aa">hello</div></font><img src="spacer.gif">
<div style="bb"><img src="spacer.gif"></div>'

プログラムにHTMLテキストを送信する必要がある場合入力する(stdin)、ここで説明されているように参照できます。残りのテキストが列1から始まることを示すために、最初の行をさらにインデントしました。

./a.out << 'EOF'
<font name="Moronicity" size=12><!-- ignore this comment --><i></i>
<div style="aa">hello</div></font><img src="spacer.gif">
<div style="bb"><img src="spacer.gif"></div>
EOF

一重引用符を囲むと、EOFテキストの引数は拡張されません。

おすすめ記事