如何在csh的内置echo命令中正确使用退出字符?

我试图build立我的fstab在脚本安装过程中,所以我想有这样的事情:

printf '# Device\t\tMountpoint\tFSType\tOptions\t\tDump\tPass#' >> /mnt/etc/fstab printf '\n/dev/ada0p4.elia\t/\t\tufs\trw\t\t1\t2' >> /mnt/etc/fstab printf '\n/dev/ada0p3.eli\t\tnone\t\tswap\tsw\t\t0\t0' >> /mnt/etc/fstab printf '\n/dev/ada0p2\t\t/unencrypted\tufs\tro\t\t1\t1' >> /mnt/etc/fstab 

有没有办法做到这一点与CSH回声?

我已经尝试过了,它不能正常工作。 例如,下面是我的FreeBSD 9.0-RELEASE-p1框中的testing和输出结果:

 # echo test\ttest > test # cat test testttest 

这里怎么了?

Csh的内置回声不支持这个function,所以你需要input系统的echo命令的path。 此外,您需要添加一个额外的反斜杠或将反斜杠放在引号中。

这些都应该工作。

 /usr/bin/echo test\\ttest > test 

要么

 /usr/bin/echo 'test\ttest' > test 

与之前发布的内容相反,您不需要使用-e标志。 这只是GNU的echo命令需要的。