Назад | Перейти на главную страницу

Как правильно использовать escape-символы в css, встроенной в команду echo?

Я пытаюсь создать свой 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

Что здесь не так?

Встроенное эхо Csh не поддерживает эту функцию, поэтому вам нужно будет ввести путь к системной команде echo. Кроме того, вам нужно либо добавить дополнительную обратную косую черту, либо заключить обратную косую черту в кавычки.

Любой из них должен работать.

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

или

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

В отличие от того, что я писал ранее, вам не нужно использовать флаг -e. Это нужно только для команды echo GNU.