我想寫一個字符串到文件中,但它不起作用。我相信我錯過了一些微不足道的東西。這些文件還不存在。 爲什麼下面的腳本不在文件中寫入任何內容?這些文件甚至沒有創建。bash echo >>不起作用
#!/bin/bash
j="nch"
temp_dir="~/temp_temp"
echo "$temp_dir/$j"
echo "c'mon" >> "$temp_dir/$j"
echo "c'mon" >> "~/temp_temp/pch"
我想寫一個字符串到文件中,但它不起作用。我相信我錯過了一些微不足道的東西。這些文件還不存在。 爲什麼下面的腳本不在文件中寫入任何內容?這些文件甚至沒有創建。bash echo >>不起作用
#!/bin/bash
j="nch"
temp_dir="~/temp_temp"
echo "$temp_dir/$j"
echo "c'mon" >> "$temp_dir/$j"
echo "c'mon" >> "~/temp_temp/pch"
~
未在引用字符串中展開。
temp_dir=~/temp_temp
echo "c'mon" >> ~/temp_temp/pch
使用`
或
temp_dir=~/"temp_temp"
echo "c'mon" >> ~/"temp_temp/pch"
等
對。我錯過了。謝謝! –
你也可以使用'$ HOME',它在引用字符串中被擴展。但總的來說,記住引號不是shell中的標記邊界是有幫助的; 「foo」與「foo」或「f」「o」或「f」「oo」等相同。引號內的內容有不同的解釋,但是從內部到外部的變化不會結束這個詞。 –
調試SH -x script.sh';它會告訴你殼體在做什麼,並會幫助你看到發生了什麼問題。您可能還注意到屏幕上生成的第一個「echo」;那也會讓你指向正確的方向。 –
謝謝。這很好。 –