2013-06-19 10 views

Odpowiedz

7

Jeśli chcesz mieć cytaty, trzeba je uciec za pomocą ukośników.

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

To samo, jeśli to jest też chcą napisać \ się, ponieważ może to powodować skutki uboczne. Więc musisz użyć \\

Inną opcją byłoby użycie `` 'zamiast cytatów.

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

Jednak w tym przypadku zmienna podstawowa nie działa, więc jeśli chcesz używać zmiennych, musisz je umieścić na zewnątrz.

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

Dzięki za pomoc. Wcześniej zapomniałem powiedzieć o pojedynczym cytacie. Tak, próbowałem pojedynczego cytatu i to zadziałało, ale nie spełniłem tego celu. Próba użycia znaku ucieczki przed ukośnikiem .. Dzięki, SM – user2500742

+0

Nie zapomnij przejąć/zaakceptować odpowiedzi, które pomogły ci. – Devolus

+0

Dzięki, chłopaki, używając Backslash, teraz to się robi, a także wypełnia mój cel. Jesteście po prostu niesamowici. Pozdrawiam, SM – user2500742

2

Jeśli masz znaków specjalnych, można uciec im backslashem do korzystania z nich w zależności od potrzeb:

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

Jednakże, można również użyć funkcji skorupy za „EOF” z komendą w tee, który jest naprawdę miły dla pisanie wszelkiego rodzaju rzeczy:

tee file.txt <<EOF 

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

że napiszę praktycznie żadnych treści, które chcesz bezpośrednio do tego pliku, a uciec żadnych znaków specjalnych, aż yo dotrzesz do EOF.

+0

To miłe wyjaśnienie, dzięki i najlepsze życzenia :) – user2500742

Powiązane problemy