Czy istnieje uniksowa funkcjonalność, która pozwala na:
echo "Some Text" | copy-to-clipboard
command-line
clipboard
Stefan
źródło
źródło
stdin
.<longTextFile straightToClipboard
. Jest taki samcat longTextFile straightToClipboard
, ale nie wymaga uruchamianiacat
. Tylko obserwacja. Możesz to zignorować. Zobacz Nagrodę za bezużyteczne korzystanie z kota, aby uzyskać dodatkowe informacje i przykłady, jeśli jesteś zainteresowany.Odpowiedzi:
Istnieje kilka narzędzi zdolnych do pisania w schowku; Używam
xsel
. Zapisuje flagi do podstawowego wyboru X (-p
), wyboru dodatkowego (-s
) lub schowka (-b
). Pominięcie-i
spowoduje, że będzie czytać ze standardowego wejścia, więc chcesz:źródło
-i
nie jest to wymagane w tym przypadku:man xsel
1.2.0 mówi:and the selection is set from standard input if standard input is not a terminal (tty)
Używając
xclip
, jak sugerował @Nicolas, jeśli chcesz później wkleić zawartość schowka, na przykład używając Ctrl + V, możesz użyć tego w następujący sposób:źródło
echo "Some Text" | xclip -sel c
też działa.możesz użyć xsel
źródło
xsel -ib <file-long-or-short
(„Spójrz, nie ma kota!” :) ... lub jeśli chcesz<file-long-or-short xsel -ib
... -i jest domyślne. -b jest dla typu clipBoardW Mac OS X są urocze
pbcopy
ipbpaste
polecenia, które są bardzo pomocne :)źródło
Najprostszy jest prawdopodobnie
xclip
:Następnie wklej za pomocą środkowego przycisku myszy.
Na przykład
xsel
zazwyczaj nie jest instalowany domyślnie, więc może być konieczne jego zainstalowanie (sudo apt-get install xclip
na Debianie / Ubuntu).źródło
xclip
wymaga-selection clipboard
opcji. Domyślnym wyborem dla strony podręcznika jest coś innego.xclip
jest dobrym sposobem, aby przejść zgodnie z odpowiedzią @Nicolas Raoul, ale podczas pipetowania do schowka wszystkiego, co zawiera nową linię, na przykładpwd
, nowa linia jest również kopiowana. W niektórych sytuacjach może być pożądane, ale przeważnie nie chce się nowej linii.Rozwiązaniem jest albo:
echo -n $(pwd) | xclip -selection clipboard
(
-n
usuwa nowy wiersz z powtórzonego argumentu)lub:
printf %s $(pwd) | xclip -selection clipboard
""
Wokół$(pwd)
może być wymagane, ale działa i bez na ubuntu z bash.źródło