Die Vervollständigung des Tab-Pfads funktioniert nicht (zumindest unter Ubuntu und AFAIK Arch) mit
sudo mount <whatever>
Die ISO-Datei, die ich zu mounten versuche, befindet sich nicht in /etc/fstab
. Wenn ich nur tippe
mount <whatever>
Die Fertigstellung funktioniert (aber natürlich schlägt der Befehl fehl, da ich nicht root bin). Anscheinend ist es das sudo
, was es bricht.
Wie kann die Fertigstellung mit sudo funktionieren?
Es ist überraschend, dass mit
sudo umount <whatever>
Fertigstellung funktioniert. Wie wird es erreicht? Schaut es in /etc/fstab
?
Lösung: Ich habe nur ein Shell-Skript in /usr/local/bin
diese Aufrufe sudo mount ...
mit den übergebenen Argumenten eingefügt. Die Vervollständigung funktioniert beim Aufrufen dieses Skripts, da keine sudo
im Weg ist.
sudo umount
. Wie Enzotib hervorhebt, ist diese Funktion defektmount
und als ich sie das letzte Mal überprüft habe, war sie auch bei Arch defekt./etc/fstab
habe und der mit / media beginnt./etc/fstab
. Könnten Sie das bitte überprüfen?Nein, es sieht nicht in fstab aus. Die Bash-Vervollständigung sucht nach Befehlen im Pfad, Aliasnamen in bashrc und / oder bash_profile und Pfaden. Wenn Sie also so etwas eingeben
sudo mount /mnt/some_folder
, sollte es automatisch vervollständigt werden. Als Sie das getan habenumount
, befanden Sie sich möglicherweise auf einem relativen Pfad für Ihr Ziel und es wurde automatisch vervollständigt.quelle
sudo mount /mnt/some_folder
, 100% sicher. AFAIK funktioniert auch unter Arch Linux nicht. Als ich das tat, warumount
ich nicht auf dem relativen Pfad für das Ziel.Ich denke, bash möchte nicht zu komplex sein und portabel bleiben, also werden sie nicht in / dev schauen, um die Fertigstellung für eine Mount-Operation vorzuschlagen.
Beim Aufrufen von umount kann jedoch die Ausgabe von df / mount / etc leicht überprüft werden, um festzustellen, welche Geräte wo gemountet sind.
Vielleicht wird zsh die Vervollständigung für das Mounten bereitstellen, zsh sogar automatisch vervollständigen, wenn ein scp-Befehl ausgeführt wird ...
quelle
/bin/bash
/home/ali
erwartungsgemäß.