Ich schreibe ein Drehbuch. Ich möchte das wirklich wissen. Ich hoffe, die ausführbare tmux-Datei kann mir das sagen.
ich finde
tmux rename <newname>
kann die aktuelle Sitzung umbenennen. Ich kann jedoch keinen Befehl zum Abrufen des eigenen Namens finden.
Ich bin überrascht, dass nach fast fünf Jahren niemand darauf hingewiesen hat, dass keine dieser Antworten angemessen ist. Während beide einwandfrei funktionieren, solange das aktuelle TTY an die einzige tmux-Sitzung auf dem Host angehängt ist, fallen beide Antworten flach, wenn:
Im ersteren Fall geben beide Antworten hier den Namen der angehängten Sitzung zurück (unabhängig davon, ob das aktuelle tty von dieser Sitzung gesteuert wird). Im letzteren Fall ist das Ergebnis wahrscheinlich unbestimmt oder führt zu mehreren Antworten.
Die richtige Frage sollte lauten: "Wie heißt die tmux-Sitzung, an die meine aktuelle Terminalsitzung angehängt ist?"
Um diese Frage zu beantworten, führen Sie aus:
Dies funktioniert unabhängig von der Anzahl der TMUX-Sitzungen (angefügt oder anderweitig) und unabhängig davon, ob die aktuelle Terminalsitzung Teil einer TMUX-Sitzung ist oder nicht.
quelle
tmux list-panes -a -F '#{pane_tty} #{session_name}'
Bereiche jeder Sitzung auflisten. Nicht sicher, wie neu-a
ist, also YMMV.TMUX
Umgebungsvariablen kombiniert wird, bevortmux display-message -p '#S'
ein typisches Desktop-Setup ausgeführt wird.Erweiterte / korrigierten Antwort des tim-Völker nach don_crissti Kommentar zu Warum ist dies
grep -v
nicht wie erwartet funktioniert? .Befehl "$ (tty)" in der Antwort von tim-peoples
würde in diesem Zusammenhang nicht wie erwartet funktionieren. Es wird eine Zeichenfolge 'not a tty' ausgewertet.
Das Ersetzen durch eine Variable löst dieses Problem.
Wenn keine tmux-Sitzungen vorhanden sind, wird der ursprüngliche Code erstellt
"Kein Server läuft unter / tmp / tmux-1000 / default" Fehlermeldung.
Add
2>/dev/null
und der Code würde ausgeführt, ohne die Fehlermeldung auszudrucken.Geänderter Code lautet wie folgt:
quelle
tty
.Stattdessen stellte ich fest, dass dies für mich genau funktionierte:
quelle
Nicht ideal, aber Sie können den Namen der angehängten Sitzung extrahieren mit
awk
:Das benutzerdefinierte Format ist etwas einfacher zu analysieren als das Standardformat.
quelle