Mam kilka dość długich poleceń i ścieżek plików, które skopiowałem do schowka i muszę wykonać w TTY, jednak ścieżki plików są zbyt długie, aby je ponownie wpisać i chciałbym je wkleić po $
(mogę ponownie wpisać polecenia wcześniej im wtedy), czy jest na to sposób?
Chciałbym więc wykonać polecenie i $
umieścić je w następnym wierszu, zaczynając od umieszczenia tekstu skopiowanego do schowka w następujący sposób:
$ specialCommandToPasteText
$ pastedText
Używam Ubuntu GNOME 16.04 z GNOME 3.20.
gpm
aby zapewnić obsługę myszy w VT, jak zasugerowano we własnej odpowiedzi na poprzednie pytanie ?Odpowiedzi:
To proste, ale potrzebujesz dodatkowego narzędzia.
Zainstaluj pakiet,
xsel
który zapewnia łatwe polecenie dostępu do schowka:Dowiedz się, którego
$DISPLAY
używa Twój pulpit. Zwykle tak powinno być:0
, ale można to sprawdzić, uruchamiając to polecenie w emulatorze terminali na pulpicie GUI:Zakładam, że dane wyjściowe są
:0
, zamień je na rzeczywiste dane wyjściowe w poniższych poleceniach, jeśli są inne.Skopiuj polecenie, które chcesz wykonać w TTY, np. Używając Ctrl+ C.
Przełącz na TTY, którego chcesz użyć, np. Na TTY1 za pomocą Ctrl+ Alt+ F1.
Zaloguj się, wpisując nazwę użytkownika i hasło.
Wpisz pełne polecenie, które chcesz uruchomić, ale zamień część, którą chcesz wstawić ze schowka
$(DISPLAY=:0 xsel -ob)
.Na przykład, jeśli skopiowałeś dużą listę pakietów do zainstalowania, możesz wpisać to w TTY:
Fragment schowka niekoniecznie musi znajdować się na końcu polecenia, może pojawić się w dowolnym miejscu.
Aby jeszcze bardziej uprościć, przenieśmy to nieco skomplikowane
DISPLAY=:0 xsel -ob
do skryptu. Nazwie toPASTE
(bopaste
jest już zajęte), ale możesz też nazwać to inaczej.Aby utworzyć plik skryptu w miejscu, w którym każdy użytkownik może go uruchomić bez konieczności podawania pełnej ścieżki (zalecam
/usr/local/bin
do tego) i aby był wykonywalny, po prostu uruchom te dwie komendy:Teraz możesz po prostu osadzić
$(PASTE)
w swoich poleceniach na TTY, aby wstawić tam zawartość schowka z pulpitu.źródło
DISPLAY=:0 xsel -ob
jako alias Bash lub mały skrypt w dowolnym miejscu (nazwijmy goPASTE
) i używać tylko skróconej formy, takiej jak$(PASTE)
użycie zawartości schowka w swoich poleceniach.Osobiście używam tylko plików tekstowych:
W środowisku pulpitu otwórz terminal i
Zrzuć na tty i
źródło
some-command '
shift + insert (aby wkleić).'
powrót. Wklejenie pojedynczych lub podwójnych cudzysłowów zapobiega uruchamianiu polecenia przez nowe wiersze w wklejonym tekście, zanim będę mógł go edytować w celu rozwiązania problemów. IDK co zyskuje, aby umieścić tekst w pliku. Bash ma bardzo potężne klawisze edycji linii, takie jak ctrl-lewa lub ctrl-prawa strzałka, aby poruszać się po słowach. Alt-Backspace, aby usunąć słowa z tyłu. Alt-d, aby usunąć naprzód wyrazy itp.Innym możliwym obejściem niewymienionym powyżej jest użycie
vim
, wklejenie i uruchomienie:!unix_command
w trybie poleceń:vim
, przejdź do trybu poleceń Esc, wprowadź monit:źródło