Да, это немного раздражающая особенность, потому что что-то такое происходит, а иногда нет, очень странно.
Я вставляю команду в терминал, чтобы настроить ее аргументы, и иногда она выполняется, когда я ее вставляю. Иногда это не так.
Это варьируется от смущения (публикация бессмысленных комментариев на IRC) до опасного.
Как я могу отключить эту функцию навсегда? Я никогда, никогда, никогда не хочу, чтобы терминал автоматически выполнялся при вставке в него.
command-line
помешанный
источник
источник
oh-my-zsh
или любых других замен терминалов.Ответы:
Там нет автоматического исполнения. Вы, вероятно, также копируете разрыв строки (или более) после команды.
Если вы вставляете команду с разрывом, оболочка (командная строка) считает, что вы нажали кнопку прерывания (Enter, Return) самостоятельно.
Этот ответ только объясняет, почему ОП получает нежелательное поведение. Однако в другом ответе есть реальное решение проблемы ОП.
источник
Одно из реальных решений - открыть режим редактирования с помощью
ctrl-x ctrl-e
и затем безопасно вставить буфер обмена в выбранный вами редактор (обычно это emacs или vim). После того, как вы закончите редактирование команды, сохраните и выйдите, и она запустится в командной строке Это хорошая привычка для длинных или сложных команд, особенно при вставке хешей коммитов в команды git, и может помочь вам избежать некоторых страшных результатов в долгосрочной перспективе.Редактор можно изменить, установив переменные VISUAL и EDITOR (они имеют разные значения, см. Здесь ).
источник
Перед вставкой введите #, а затем вставьте свою строку. Он не будет выполнен, и вы можете удалить # и нажать Enter, когда изменения будут завершены.
источник
true
AKA:
, которая в основном является командой no-op.$?
) ... наtrue
самом деле не nop, оно возвращает состояние выхода 0. С другой стороны, комментарий полностью игнорируется и поэтому не будет альтер$?
.