我正在嘗試編寫一個腳本,它將使用echo和寫入/附加到文件。 但我有「」在語法已在弦..說..如何使用echo命令寫入和追加到文件
echo "I am "Finding" difficult to write this to file" > file.txt
echo "I can "write" without double quotes" >> file.txt
任何人都可以請幫助理解這一點,真正的讚賞。
BR, SM
我正在嘗試編寫一個腳本,它將使用echo和寫入/附加到文件。 但我有「」在語法已在弦..說..如何使用echo命令寫入和追加到文件
echo "I am "Finding" difficult to write this to file" > file.txt
echo "I can "write" without double quotes" >> file.txt
任何人都可以請幫助理解這一點,真正的讚賞。
BR, SM
如果你想有引號,則必須使用反斜槓字符轉義。
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
但是在這種情況下,變量替換不起作用,所以如果你想使用變量你必須把它們放在外面。
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
如果你有特殊字符,你可以用一個反斜槓逃脫他們根據需要使用這些:
echo "I am \"Finding\" difficult to write this to file" > file.txt
echo "I can \"write\" without double quotes" >> file.txt
但是,您也可以使用shell的「EOF」功能與tee
命令,這是非常好的寫各種各樣的事情:
tee file.txt <<EOF
I am "Finding" difficult to write this to file
I can "write" without double quotes
EOF
這將寫幾乎要直接到該文件的內容,並逃避任何特殊字符,直到喲你去到EOF
。
這是很好的解釋。謝謝,最好的問候:) – user2500742
感謝您的幫助。早些時候,我忘了告訴單引號。是的,我嘗試了單引號,這對我有效,但沒有達到目的。嘗試使用轉義反斜槓字符..謝謝,SM – user2500742
不要忘記upvote /接受幫助你的答案。 – Devolus
謝謝你們,使用反斜槓現在就完成了,並且也完成了我的目的。你們真棒。問候,SM – user2500742