如何在bash脚本创建的文件中放入新的行/回车符

时间:2013-03-22 23:20:59

标签: linux bash

在我的bash脚本中,我有:

echo -e '#!/bin/sh /n GIT_WORK_TREE=/home/realopti/domains/$name git checkout -f' >> ~/domains/$name.git/hooks/post-receive

这会产生:

#!/bin/sh /n GIT_WORK_TREE=/home/realopti/domains/john git checkout -f

在我的收件人档案中。

我希望文件看起来像:

#!/bin/sh
GIT_WORK_TREE=/home/realopti/domains/john git checkout -f

我怎样才能实现这一目标。

谢谢,

比尔

2 个答案:

答案 0 :(得分:7)

应该是\n,而不是/n。您可能还想删除它后面的空格,但这没关系。

答案 1 :(得分:2)

catecho更合适:

cat << \EOF > ~/domains/$name.git/hooks/post-receive
#!/bin/sh
GIT_WORK_TREE=/home/realopti/domains/john git checkout -f
EOF

但是对于这种特殊情况,最好使用模板。将您想要的内容放在$HOME/template-dir/hooks/post-receive中,并将GIT_TEMPLATE_DIR=$HOME/template-dir设置在您创建git存储库的shell环境中。 (也就是说,在启动文件中进行分配。)