Как применять оператор ! (не) в простых командах терминала

Как применять оператор ! (не) в простых командах терминала

Кажется, это действительно просто. Я сделал это в своих скриптах Bash, но мне интересно, как сделать то же самое в терминале.

Например, предположим, что я хочу lsвсе файлы, которые не являются js. Вероятно, я бы сделал:

ls ! *.js

!Но у моего оператора возникают ошибки .

Как выполнить mv, rmи любые другие операции с оператором not ( !)?

Обратите внимание, что моей оболочкой является Bash.

решение1

В bashоболочке необходимо включить extglobи запустить ls !(*.js).

Пример:

$ touch file.js file.txt
$ shopt -s extglob
$ ls  !(*.js)
file.txt

Связанный контент