bash script Zwischenablage in Variable speichern

  • Hallo,

    ich habe eine Frage, die möglicherweise total trivial ist, aber irgenwie habe ich keine funktionierende Lösung gefunden.

    Wie kann ich in einem bash-Script den Inhalt der Zwischenablage in eine Textariable kopieren?

  • framp Wenn ich ein bash-Script mit folgendem Inhalt ausführe

    Code
    clipboardContents=$(xclip -o -selection clipboard)
    echo "$clipboardContents"

    erhalte ich auf der Konsole folgende Meldung

    Error: Can't open display: (null)

    xclip habe ich vorher mit

    Code
    sudo apt install xclip

    installiert.

  • Ich will noch ein paar Infos nachreichen. Der Pi hängt "headless" in meinem lokalen Netz. Ich verbinde mich per ssh von einem Linux-Rechner mit dem Pi. Wenn ich auf dem Linux-Rechner mit <ctrl> <c> Text in die Zwischenablage kopiere, kann ich diesen im Terminalfenster der ssh-Verbindung zum Pi mit <ctrl> <v> in der Konsole einfügen.
    Statt nun den Text mit <ctrl> <v> im Terminalfenster einzufügen, möchte ich ihn mittels bash-Script auslesen und in einer Variable speichern.
    Das Problem scheint aber zu sein, daß X bei mir nicht läuft. Ich habe nur die lite-Version ohne Desktop installiert. Kann es daran liegen? Falls ja, würde ich meine Frage erst mal zurückstellen und mit intensiver in das Thema einlesen, denn dann scheint das Problem doch komplexer zu sein, als ich anfangs dachte.

  • klaus_d Die Zwischenablage, in der Du mit Strg+c kopierst kannst Du von der Shell aus dem ssh-Terminal nicht erreichen - sind zwei verschiedene Rechner. Das Strg+c und Strg+v (oder mittlere Maustaste) läuft nur auf dem Rechner ab, von wo aus Du den ssh-Zugriff gestartet hast. Das macht Dein lokaler X, der sendet für Dich sozusagen eine Eingabe. Die shell im ssh hat damit nichts zu tun.

    Wenns ner net G'wittern tun tut.

  • Bergwichtel Ja, das habe ich schon befürchtet. Es ist also doch nicht so trivial wie ich dachte. Ich werde meine Eingangsfrage also erstmal zurückstellen. Da die Thematik doch umfangreicher als gedacht ist und mir offenbar noch ein paar Voraussetzungen fehlen, wiüde ich hier im Moment ohnehin nicht weiterkommen.

    Auf jeden Fall vielen Dank für Eure Hilfe

  • Naja, Du könntest z.B. den Inhalt der Zwischenablage am PC per Skript in eine Datei schreiben (lassen) und diese Datei per SCP an den RPi schicken. Dann könnte das Bash-Skript auf dem RPi die Daten aus der Datei auslesen.

    Mit Netcat könnte man das auch als Variable senden und am RPi abfangen.

    Da gibt es auch noch mehr Möglichkeiten.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!