Почему я не могу сделать «echo» #! / Bin / sh »во Freebsd?

1

Почему я не могу сделать это echo '#!/bin/shво Freebsd? Он просто генерирует:

/ bin / sh: событие не найдено

Я перепробовал все комбинации цитат, но ничего не помогает. У меня под рукой только Freebsd 8.4.

Koblid
источник

Ответы:

4

Несмотря на сообщение об ошибке, указывающее пальцем /bin/sh, проблема заключается в том, что ваша оболочка используется !для вставки истории в командную строку, а кавычки не избавляют от магии !. Так что вам нужно явно избегать !с \.

Например:

echo #\!/bin/sh
Ричард Смит
источник
-1

Вы можете временно отключить расширения истории, пока выполняете эту команду:

$ echo !foo
bash: !foo: event not found
$ set +H; echo !foo; set -H
!foo
Гленн Джекман
источник
2
FreeBSD не использует bashпо умолчанию, но tcsh.
Роланд Смит