Вы записали (избыточные круглые скобки, добавленные для ясности):
find zUnorganized/ \( -not -iname "*.mp3" -and -not -iname "*.flac" -and -not -iname "*.MP3" -and -not -iname "*.wav" \) \
-or \( -not -iname "*.m4a" -and -not -iname "*.jpg" \)
Любое использование -and -not
повсюду, или использование or
повсюду и конец с -print
(значение: ничего не сделайте для этого, иначе сделайте ничто для этого, и т.д., иначе не печатает). Вы также захотите ограничить поиск регулярными файлами, иначе каталоги будут перечислены.
find zUnorganized/ -type f -not -iname "*.mp3" -and -not -iname "*.flac" -and -not -iname "*.MP3" -and -not -iname "*.wav" -and -not -iname "*.m4a" -and -not -iname "*.jpg"
find zUnorganized/ \! -type f -o \
-iname "*.mp3" -o -iname "*.flac" -o -iname "*.MP3" -o -iname "*.wav" -o -iname "*.m4a" -o -iname "*.jpg" -o \
-print
Вы ищете IGNOREEOF
переменная среды, если Вы используете bash
:
IGNOREEOF
Управляет действием интерактивной оболочки по получении символа EOF как единственный вход. Если установлено, значение является количеством последовательных символов EOF, которые должны быть введены как первые символы на входной строке перед выходами удара. Если переменная существует, но не имеет числового значения или не имеет никакого значения, значение по умолчанию равняется 10. Если это не существует, EOF показывает конец входа к оболочке.
Так export IGNOREEOF=42
и необходимо будет нажать Ctrl+D сорок два раза, прежде чем он на самом деле выйдет оболочки.
POSIX set
имеет -o ignoreeof
установка также. Поэтому консультируйтесь с документацией своей оболочки, чтобы видеть, имеет ли Ваша оболочка это (она должна), и проверять ее точную семантику.
Если Вам действительно не нравится иметь Ctrl-d, то Вы могли удалить eof
символ в терминальных средствах управления.
stty eof undef
После этого Cntl-d будет любым другим управляющим символом.
Ошибка
У меня была аналогичная проблема: если я использовал Ctrl+D для отладки и случайно использовал его на один раз больше, чем предполагалось, закрывалась вся вкладка.
Предложение с использованием переменных среды
Временно (только для текущего сеанса):
export IGNOREEOF=20
или
set ignoreeof=20
После установки можно распечатать, чтобы проверить, установлено ли значение:
printenv
Вы также можете отключить его:
unset ignoreeof
Постоянно:
Откройте, отредактируйте и установите переменную окружения навсегда, например, с помощью возвышенного
subl ~/.bashrc
или subl ~/.bash_profile
и добавьте export IGNOREEOF=15
в конце файла, чтобы установить переменные окружения на постоянной основе. Чтобы сделать это автоматически, вы можете попробовать это в своей консоли:
echo "export IGNOREEOF=20" >> ~/.bash_profile
Вы также можете проверить текущее значение, используя эхо, как это:
echo $IGNOREEOF
Если вы правильно установили значение, оно должно быть напечатано на вашем терминале. Если значение не установлено, будет просто напечатана пустая строка.
Подведение итогов
Попробуйте это:
export IGNOREEOF=20 && echo "export IGNOREEOF=20" >> ~/.bash_profile
Надеюсь, это поможет, хорошего дня!
IGNOREEOF
количество раз, EOF проигнорирован прежде наконец принять его. Таким образом в Вашем примере выше, если Выexport IGNOREEOF=42
, Вы должны будете к контролю-за-прессой-D 43 раза выйти - не 42. – Alvin Thompson 07.02.2018, 17:05