Я заметил, что когда я тройной щелчок (с мышью), чтобы выбрать текст (или команду), например, на веб-сайте, а затем вставьте его в мой терминал с помощью Ctrl + Alt + v, команда сразу же запускается (т. е. автоматически Ввод Введите ключ), но если я выберу (с помощью мыши) и скопирую ту же команду и использую Ctrl + Alt + v, чтобы вставить его в терминал, он не выполняет автоматический запуск кода, а скорее просто вставляет его и ожидает ввода от меня перед запуском кода.
Какой механизм делает это? Поскольку я предпочел бы сначала взглянуть на команду, которую нужно запустить, прежде чем запускать ее, но я заметил, что это будет сделано для меня в любое время, когда я использую тройной щелчок , чтобы выбрать слово.
Тройное нажатие выбирает всю строку, которая включает в себя фид строки в конце1. Символ строки (Unicode U + 0A) - это то, что вводит ввод, поэтому оболочка интерпретирует это так, чтобы он выполнял команду 2.
Когда вы Тройной щелчок , чтобы выбрать line, вы обычно не выбираете линию в конце, если вы не перетащите указатель мыши на следующую строку или не выберете несколько строк (которые, конечно, включают в себя несколько строк между ними).
[d7 ] Лучшее решение, которое я знаю, это скопировать-вставить команду в текстовый редактор (например, Gedit), просмотреть его, а затем скопировать его в терминал.Вот несколько безобидных команд, которые вы можете попробовать скопировать -распространение по-разному:
echo 1
echo 2
echo 3
true true
echo hello world
echo "$(whoami)"
Сноски
По моему мнению, строка определяется как строка, заканчивающаяся линией. По моему опыту, большинство оболочек не могут определить разницу между введенной строкой и вставкой строки.Тройное нажатие выбирает всю строку, которая включает в себя фид строки в конце1. Символ строки (Unicode U + 0A) - это то, что вводит ввод, поэтому оболочка интерпретирует это так, чтобы он выполнял команду 2.
Когда вы Тройной щелчок , чтобы выбрать line, вы обычно не выбираете линию в конце, если вы не перетащите указатель мыши на следующую строку или не выберете несколько строк (которые, конечно, включают в себя несколько строк между ними).
Лучшее решение, которое я знаю, это скопировать-вставить команду в текстовый редактор (например, Gedit), просмотреть его, а затем скопировать его в терминал.
Вот несколько безобидных команд, которые вы можете попробовать скопировать -распространение по-разному:
echo 1
echo 2
echo 3
true true
echo hello world
echo "$(whoami)"
Сноски
По моему мнению, строка определяется как строка, заканчивающаяся линией. По моему опыту, большинство оболочек не могут определить разницу между введенной строкой и вставкой строки.Тройное нажатие выбирает всю строку, которая включает в себя фид строки в конце1. Символ строки (Unicode U + 0A) - это то, что вводит ввод, поэтому оболочка интерпретирует это так, чтобы он выполнял команду 2.
Когда вы Тройной щелчок , чтобы выбрать line, вы обычно не выбираете линию в конце, если вы не перетащите указатель мыши на следующую строку или не выберете несколько строк (которые, конечно, включают в себя несколько строк между ними).
Лучшее решение, которое я знаю, это скопировать-вставить команду в текстовый редактор (например, Gedit), просмотреть его, а затем скопировать его в терминал.
Вот несколько безобидных команд, которые вы можете попробовать скопировать -распространение по-разному:
echo 1
echo 2
echo 3
true true
echo hello world
echo "$(whoami)"
Сноски
По моему мнению, строка определяется как строка, заканчивающаяся линией. По моему опыту, большинство оболочек не могут определить разницу между введенной строкой и вставкой строки.
Оба они были выбраны перетаскиванием, а не тройным щелчком. Разница в том, что в последнем я перетащил на следующую строку. Вы можете видеть, что новая строка представлена как дополнительное пространство, которое на самом деле не существует в тексте.
Возможно, вы захотите сделать следующее:
отредактировать текущую командную строку в редакторе (CtrlX CtrlE - это ярлык по умолчанию для bash) , затем вставьте в редактор. переключитесь на оболочку, такую как zsh, которая не выполняет команду для вставки, даже если она имеет символы новой строки. Это вложенный текст, который еще не выполнен:
Оба они были выбраны перетаскиванием, а не тройным щелчком. Разница в том, что в последнем я перетащил на следующую строку. Вы можете видеть, что новая строка представлена как дополнительное пространство, которое на самом деле не существует в тексте.
Возможно, вы захотите сделать следующее:
отредактировать текущую командную строку в редакторе (CtrlX CtrlE - это ярлык по умолчанию для bash) , затем вставьте в редактор. переключитесь на оболочку, такую как zsh, которая не выполняет команду для вставки, даже если она имеет символы новой строки. Это вложенный текст, который еще не выполнен:
Оба они были выбраны перетаскиванием, а не тройным щелчком. Разница в том, что в последнем я перетащил на следующую строку. Вы можете видеть, что новая строка представлена как дополнительное пространство, которое на самом деле не существует в тексте.
Возможно, вы захотите сделать следующее:
отредактировать текущую командную строку в редакторе (CtrlX CtrlE - это ярлык по умолчанию для bash) , затем вставьте в редактор. переключитесь на оболочку, такую как zsh, которая не выполняет команду для вставки, даже если она имеет символы новой строки. Это вложенный текст, который еще не выполнен: