Скопировать в буфер обмена с помощью Bash для Windows

Как скопировать результаты из командной строки непосредственно в буфер обмена?

В Windows cmd.exe я могу сделать просто echo "asd" | clip и он выводит вывод в буфер обмена.

Я попытался установить xclip для этого, и хотя он скомпилирован, когда его вызывается, он печатает:

Error: Can't open display: (null)

Использование мыши не является решением.

Ответ 1

В сборке 14393 или более поздней версии, если вы хотите скопировать что-либо в буфер обмена в консоли WSL, просто добавьте ".exe" к тому, что вы делаете в Windows cmd.

echo "aaa"|clip.exe

Читать из буфера обмена:

powershell.exe -command "Get-Clipboard"

Ответ 3

Чтобы скопировать не-ascii символы (другие языки), я должен был сделать это:

эхо 'αβψδεφγ' | iconv -f utf-8 -t utf-16le | clip.exe

utf-16le исключает предыдущую спецификацию, поэтому вы можете вставить ее обратно