2013-06-19 13 views
5

ファイルにechoとwrite/appendを使用するスクリプトを作成しようとしています。 しかし、私はechoコマンドをファイルに書き込んで追加する方法

echo "I am "Finding" difficult to write this to file" > file.txt 
echo "I can "write" without double quotes" >> file.txt 

は誰でも本当に感謝、これを理解する助けてください...と言う..文字列にすでに構文で「」持っています。

BR、 SM

答えて

7

あなたが引用符を持たせたい場合は、あなたがバックスラッシュ文字を使用してそれらをエスケープする必要があります。

echo "I am \"Finding\" difficult to write this to file" > file.txt echo 
echo "I can \"write\" without double quotes" >> file.txt 

あなたはすなわち、それが副作用を引き起こす可能性として、\自体を書きたい場合も同じことが当てはまります。だからあなたは使用する必要があります

別のオプションは、引用符の代わりに `''を使うことです。

echo 'I am "Finding" difficult to write this to file' > file.txt echo 
echo 'I can "write" without double quotes' >> file.txt 

ただし、この場合、変数substitionは動作しませんので、あなたは、変数を使用したい場合は、外にそれらを配置する必要があります。あなたは特殊文字を使用している場合は、必要に応じて

echo "This is a test to write $PATH in my file" >> file.txt 
echo 'This is a test to write '"$PATH"' in my file' >> file.txt 
+0

ご協力いただきありがとうございます。以前は一重引用符について忘れてしまった。はい、私は一重引用符を試したと私のために働いたが、目的を果たしていない。エスケープバックスラッシュ文字を使用しています..ありがとう、SM – user2500742

+0

あなたを助けた回答をupvote/acceptに忘れてはいけません。 – Devolus

+0

Backslashを使用していただきありがとうございました。現在、私の目的を果たしています。あなたは素晴らしいよ。よろしく、SM – user2500742

2

は、あなたがそれらを使用するために、バックスラッシュでエスケープすることができます

echo "I am \"Finding\" difficult to write this to file" > file.txt 
echo "I can \"write\" without double quotes" >> file.txt 

しかし、あなたはまた、teeコマンドでシェルの「EOF」機能を使用することができ、あなたがそのファイルに直接たい事実上すべてのコンテンツを書き、ヨーヨーまでの任意の特殊文字をエスケープします

tee file.txt <<EOF 

I am "Finding" difficult to write this to file 
I can "write" without double quotes 
EOF 

:これは、すべてのものの種類を記述するための本当にいいですあなたはEOFに行きます。

+0

それは良い説明です。ありがとう、最高のよろしく:) – user2500742

関連する問題