Respuestas:
Use algo como:
someCommand | clip
Eso canalizará el resultado al portapapeles de Windows
Estoy usando el shell de comandos de Git Bash para Windows, y como alguien señaló anteriormente, usar clipes muy molesto, porque también copia el retorno de carro al final de la salida de cualquier comando. Entonces escribí esta función para abordarla:
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
}
Así por ejemplo:
$ pwd | cpy # copies directory path
$ git branch | cpy # copies current branch of git repo to clipboard
try seguir usándolo clip, es decir:pwd | tr -d \r\n | clip
Solo como referencia, tuve que copiar mi clave pública directamente después de que Bitbucket me diera una advertencia de clave incorrecta. Pude usar la respuesta de @soandos así:
cat ~/.ssh/id_rsa.pub | clipcopiar mi clave directamente desde la línea de comandos en una PC. (ya que la línea de comando apesta en comparación con la terminal)
En PowerShell, simplemente canalice el texto Set-Clipboard. Para escribir rápidamente, puede usar el alias scb. Esto no agrega un salto de línea adicional como lo hace la cliputilidad.
Por ejemplo, este comando coloca el contenido de myfile.txten el portapapeles:
gc .\myfile.txt | scb
Tenga en cuenta que para los objetos que representan los objetos del sistema de archivos, Set-Clipboardcopiará el objeto en el mismo sentido que Explorer lo hace cuando Ctrl + C un archivo. Si eso no es lo que querías, pasa el objeto Out-Stringprimero.
Esta función reemplaza el clip estándar de Windows en Git Bash donde se copia una nueva línea final.
function clip {
printf "$(</dev/stdin)" | cat > /dev/clipboard
}
Esto se basa en la respuesta de Matthew, que solo conserva la última línea e introduce una nueva línea final. El uso printfevita la nueva línea que echoagrega.
C:\Windows\system32\clip.exe.