1

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

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

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

2 ответа2

4

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

Например:

echo #\!/bin/sh
-1

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

$ echo !foo
bash: !foo: event not found
$ set +H; echo !foo; set -H
!foo

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .