我正在尝试使用脚本在安装过程中构建我的 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 中使用 echo 来做到这一点?
我试过了,但效果并不好。例如,下面是一个测试,以及我的 FreeBSD 9.0-RELEASE-p1 机器上的输出:
# echo test\ttest > test
# cat test
testttest
这里出了什么问题?
答案1
Csh 的内置 echo 不支持此功能,因此您需要输入系统 echo 命令的路径。此外,您还需要添加一个反斜杠或将反斜杠放在引号中。
这两种方法都可以。
/usr/bin/echo test\\ttest > test
或者
/usr/bin/echo 'test\ttest' > test
与我之前发布的内容相反,您不需要使用 -e 标志。只有 GNU 的 echo 命令才需要该标志。