Различие между тройным нажатием для выбора текста и выбора мыши и копирования слова в терминал

Я заметил, что, когда я тройной щелчок (с мышью) для выбора текста (или команда) от говорю, что веб-сайт, и затем вставляет это в мой терминал с помощью Ctrl+Alt+v, затем команда сразу работает (т.е. это автоматически вводит клавишу Enter), но если я выбираю (с мышью) и копирую ту же команду и использую Ctrl+Alt+v для вставки его в терминал, это не автоматически выполняет код, но это скорее просто вставляет его и ждет входа от меня, прежде чем код будет работать.

Какой механизм делает это так? Поскольку я довольно сначала посмотрел бы на команду, которая будет выполнена прежде, чем выполнить его, но я заметил, что это будет сделано для меня любое время, я использую тройной щелчок для выбора слова.

3
задан 13 August 2017 в 21:10

2 ответа

Тройное нажатие выбирает целую строку, которая включает перевод строки в конец <глоток> 1 . Символ перевода строки (Unicode U+0A) - то, какой Вводят исходные данные, таким образом, оболочка интерпретирует это, чтобы означать, что это должно выполнить команду <глоток> 2 .

, Когда Вы перетаскиваете для выбора строки, Вы обычно не выбираете перевод строки в конце, если Вы не ослабляете мышь к следующей строке, или если Вы не выбираете несколько строк (которые, конечно, включают несколько переводов строки между ними).

лучшее обходное решение, которое я знаю, является к вставке копии командой в текстовый редактор (например, Gedit), рассмотрите его, затем вставка копии он в терминал.

Вот некоторые безопасные команды, можно попробовать вставку копии по-разному:

echo 1
echo 2
echo 3
true true
echo hello world
echo "$(whoami)"
<час>

Сноски

  1. От моего понимания, строка определяется как строка завершенный переводом строки.
  2. , По моему опыту, большинство оболочек не может сказать различие между вводимой строкой и вставляемой строкой.
3
ответ дан 1 December 2019 в 15:22

enter image description here enter image description here

Оба из них были выбраны путем перетаскивания, не трижды нажимают. Различие - то, что в последнем я перетащил к следующей строке. Вы видите, что новая строка представлена как дополнительное пространство, которое на самом деле не существует в тексте. Тройным щелчком Вы будете всегда видеть последнего.

Вы могли бы хотеть сделать любой из:

  • редактируют текущую командную строку в редакторе ( Ctrl X , Ctrl E является ярлыком удара по умолчанию), затем вставьте в редакторе.
  • переключатель к оболочке как zsh, который не выполняет команду при вставке, даже если это имеет новые строки. Это - вставленный текст, пока еще невыполняемый:

    enter image description here

3
ответ дан 1 December 2019 в 15:22

Другие вопросы по тегам:

Похожие вопросы: