Я часто использую это непосредственно в оболочке, чтобы проверить результат для сценариев, и он отлично работает:
$ if [ -d mydirectory ] ; then echo YES ; fi
YES
Однако, если я хочу использовать отрицание, используя восклицательный знак, он завершается с ошибкой (ну, на самом деле, не сбоит, но переходит в многострочный режим в ожидании ввода с клавиатуры, и мне нужно выйти с помощью Ctrl-C):
$ if [ ! -d makehuman ] ; then echo YES ; if
>
> ^C
$ if [ \! -d makehuman ] ; then echo YES ; if
>
> ^C
Как я могу использовать восклицательный знак отрицания прямо в оболочке?