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


1

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

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

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

Ответы:


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.
Роланд Смит
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.