Відповіді:
Використовуйте щось на кшталт:
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
.