4

テキストファイルを生成するtcshスクリプトがあります。テキストファイルの行の1つは次のとおりです。

bla bla bla 'foo foo foo "bar bar bar"': etc etc;

ネストされた'andと"andが存在する必要があることに注意してください。:;

:および;は、文字列全体を引用符で囲む必要があります。ただし、そうすると、引用符をエスケープするのに問題が発生します。

コマンドは次のとおりです。

echo "bla bla bla 'foo foo foo "bar bar bar"': etc etc;" >> outfile

bar bar bar正しく印刷されるように、引用符をエスケープするにはどうすればよいですか?

4

1 に答える 1

8
echo "bla bla bla 'foo foo foo "\""bar bar bar"\""': etc etc;"

またはこれ:

echo "bla bla bla 'foo foo foo "\"bar bar bar\""': etc etc;"

これらはあなたが与えた単純な例ではうまくいくはずですが、実際にやろうとしていることには役立たないかもしれません... tcsh での引用は、特にバックティック、引用符、および二重引用符。

2 番目の形式は echo に対して機能しますが、実際にはコマンド ラインに 3 つの個別の引数が作成されることに注意してください。これらは (エスケープ シーケンスの解釈後):

  • bla bla bla 'foo foo foo "バー
  • バー
  • bar"': etc etc;

最初の形式は、使用する必要がある形式です。

于 2009-06-05T05:42:49.913 に答える