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

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

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

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

6 ответов

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

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

[d7 ] Лучшее решение, которое я знаю, это скопировать-вставить команду в текстовый редактор (например, Gedit), просмотреть его, а затем скопировать его в терминал.

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

echo 1
echo 2
echo 3
true true
echo hello world
echo "$(whoami)"

Сноски

По моему мнению, строка определяется как строка, заканчивающаяся линией. По моему опыту, большинство оболочек не могут определить разницу между введенной строкой и вставкой строки.
2
ответ дан 22 May 2018 в 19:30
  • 1
    Это тоже хорошая практика безопасности. – chaskes 14 August 2017 в 05:49
  • 2
    @chaskes Это только в случае вредоносного скрытого текста на веб-сайте или по другим причинам? – wjandrea 14 August 2017 в 09:59
  • 3
    в основном это вредоносный скрытый текст, но он также сделает очевидные невидимые символы, такие как символы новой строки (скажем, при копировании длинного sha256sum) – chaskes 14 August 2017 в 19:20

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

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

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

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

echo 1 echo 2 echo 3 true true echo hello world echo "$(whoami)"

Сноски

По моему мнению, строка определяется как строка, заканчивающаяся линией. По моему опыту, большинство оболочек не могут определить разницу между введенной строкой и вставкой строки.
2
ответ дан 18 July 2018 в 08:34

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

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

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

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

echo 1 echo 2 echo 3 true true echo hello world echo "$(whoami)"

Сноски

По моему мнению, строка определяется как строка, заканчивающаяся линией. По моему опыту, большинство оболочек не могут определить разницу между введенной строкой и вставкой строки.
2
ответ дан 24 July 2018 в 19:07

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

Возможно, вы захотите сделать следующее:

отредактировать текущую командную строку в редакторе (CtrlX CtrlE - это ярлык по умолчанию для bash) , затем вставьте в редактор. переключитесь на оболочку, такую ​​как zsh, которая не выполняет команду для вставки, даже если она имеет символы новой строки. Это вложенный текст, который еще не выполнен:
3
ответ дан 22 May 2018 в 19:30

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

Возможно, вы захотите сделать следующее:

отредактировать текущую командную строку в редакторе (CtrlX CtrlE - это ярлык по умолчанию для bash) , затем вставьте в редактор. переключитесь на оболочку, такую ​​как zsh, которая не выполняет команду для вставки, даже если она имеет символы новой строки. Это вложенный текст, который еще не выполнен:
3
ответ дан 18 July 2018 в 08:34

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

Возможно, вы захотите сделать следующее:

отредактировать текущую командную строку в редакторе (CtrlX CtrlE - это ярлык по умолчанию для bash) , затем вставьте в редактор. переключитесь на оболочку, такую ​​как zsh, которая не выполняет команду для вставки, даже если она имеет символы новой строки. Это вложенный текст, который еще не выполнен:
3
ответ дан 24 July 2018 в 19:07

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

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