我想写一个字符串到文件中,但它不起作用。我相信我错过了一些微不足道的东西。这些文件还不存在。 为什么下面的脚本不在文件中写入任何内容?这些文件甚至没有创建。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”;那也会让你指向正确的方向。 –
谢谢。这很好。 –