Ответы:
Используйте что-то вроде:
someCommand | clip
Это передаст результат в буфер обмена Windows
Я использую командную оболочку Git Bash для Windows, и, как кто-то заметил выше, использование clip
очень раздражает, поскольку оно также копирует возврат каретки в конце вывода любой команды. Поэтому я написал эту функцию для решения этой проблемы:
function cpy {
while read data; do # reads data piped in to cpy
echo "$data" | cat > /dev/clipboard # echos the data and writes that to /dev/clipboard
done
tr -d '\n' < /dev/clipboard > /dev/clipboard # removes new lines from the clipboard
}
Так, например:
$ pwd | cpy # copies directory path
$ git branch | cpy # copies current branch of git repo to clipboard
tr
и продолжать использовать его clip
, то есть:pwd | tr -d \r\n | clip
Просто для справки мне пришлось скопировать мой открытый ключ сразу после того, как Bitbucket дал мне предупреждение о плохом ключе. Я смог использовать ответ @soandos так:
cat ~/.ssh/id_rsa.pub | clip
скопировать мой ключ прямо из командной строки на ПК. (так как командная строка отстой по сравнению с терминалом)
В PowerShell просто перенаправьте текст в Set-Clipboard
. Для быстрой печати вы можете использовать псевдоним scb
. Это не добавляет дополнительного разрыва строки, как это clip
делает утилита.
Например, эта команда помещает содержимое myfile.txt
в буфер обмена:
gc .\myfile.txt | scb
Обратите внимание, что для объектов, представляющих объекты файловой системы, Set-Clipboard
этот объект будет скопирован в том же смысле, что и Explorer, когда вы нажимаете Ctrl + C для файла. Если это не то, что вы хотели, Out-String
сначала проложите объект .
Эта функция заменяет стандартный клип Windows в Git Bash, где копируется завершающий символ новой строки.
function clip {
printf "$(</dev/stdin)" | cat > /dev/clipboard
}
Это основано на ответе Мэтью, который сохраняет только последнюю строку и вводит перевод строки. Использование printf
избегает новой строки, которая echo
добавляет.
C:\Windows\system32\clip.exe
.