[gelöst] rsync und die verwirrende Autovervollständigung von zsh

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
smutbert
Beiträge: 8342
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

[gelöst] rsync und die verwirrende Autovervollständigung von zsh

Beitrag von smutbert » 07.04.2020 00:18:01

Hallo,

die Autovervollständigung (mit <Tab>) von zsh ist in Verbindung mit rsync fast schon gefährlich:

Ich gebe also den Anfang eines Verzeichnisnames ein und vervollständige ihn mit <Tab>, dann steht da (man beachte den /, den ich nicht eingegeben habe, der nach <Enter> aber einfach wieder verschwindet)

Code: Alles auswählen

$ echo con<Tab>
$ echo conffiles/<Enter>
hinterher steht da aber

Code: Alles auswählen

$ echo conffiles 
conffiles
Es wäre mir lieber, wenn die Autovervollständigung entweder diesen nur zum Schein vorhandenen / wirklich real einfügen und nicht nur anzeigen würde oder ihn komplett wegließe.

Ich habe nur keine Ahnung wonach ich suchen soll und ob ich mir das mit einer Option von zsh nicht sogar selbst eingebrockt habe.

rsync habe ich im Titel erwähnt, weil das bis jetzt der einzige Befehl ist, der mir einfällt, bei dem ein abschließender / von Bedeutung ist, dort kann es aber wirklich zu sehr unerwünschten Ergebnissen führen.

lg smutbert
Zuletzt geändert von smutbert am 07.04.2020 12:03:23, insgesamt 1-mal geändert.

Benutzeravatar
SubOptimal
Beiträge: 1709
Registriert: 10.01.2005 23:25:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: bei Frankfurt

Re: rsync und die verwirrende Autovervollständigung von zsh

Beitrag von SubOptimal » 07.04.2020 08:12:44

Hi @smutbert,

habe nach zsh autocompletion trailing slash gesucht und der erste Treffer scheint genau zu deiner Frage zu passen.
To retain the / added after completing directories or symbolic links to directories, turn off the option auto_remove_slash which is on by default.

Code: Alles auswählen

setopt no_auto_remove_slash
For many commands, retaining the trailing slash makes no difference for directories, but causes the command to act on the target directory instead of the symbolic link if the argument is a symbolic link to a directory. For an rsync source argument, a trailing slash causes the directory to be merged into the destination rather than copied to a subdirectory.
Quelle: how-can-i-keep-the-trailing-slash-after-choosing-a-directory-from-the-zsh-comple

mit Gruß
SubOptimal

Benutzeravatar
smutbert
Beiträge: 8342
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: rsync und die verwirrende Autovervollständigung von zsh

Beitrag von smutbert » 07.04.2020 12:03:11

Super, funktioniert. (Die Option muss ich in der zsh-Dokumentation gleich ein paar Mal überlesen haben.)
Danke

Antworten