Ich muss oft mit Verzeichnissen arbeiten. Als Abkürzung füge ich deren Pfad in eine Bash-Variable ein, so wie folgt:
currentProjectPath="Save the blank"
Ich würde dann gerne einige Verzeichnisse darin erstellen (oder grundsätzlich alles damit machen), aber weil es Leerzeichen enthält, muss ich es in Anführungszeichen setzen:
mkdir "$currentProjectPath"
mkdir -p "$currentProjectPath/Ideas/My Ideas/The good ones"
Es wäre toll, dort die Autovervollständigung nutzen zu können, aber wenn man eingibt mkdir "$curr
und dann drückt Tab, passiert nichts.
Als Workaround tippe ich manchmal mkdir $curr
Tab, wodurch es zu vervollständigt wird mkdir $currentProjectPath
(inkl. Leerzeichen am Ende) und gehe dann zurück zum Anfang, um das hinzuzufügen "
, aber jedes zweite Mal vergesse ich das.
Gibt es eine Möglichkeit, die automatische Vervollständigung $
von Variablennamen in Anführungszeichen in Bash zu aktivieren?
Antwort1
Standardmäßig ist M-$
( Alt+ $) gebunden an complete-variable
und funktioniert innerhalb von Anführungszeichen.
Beachten Sie, dass das, Tabwas im Allgemeinen geschieht, vom Kontext abhängt (z. B. sehen Sie verschiedene mögliche Vervollständigungen nach cd
und nach set
), complete-variable
den Text vor dem Punkt jedoch explizit als Shell-Variable behandelt, sonst nichts. Es gibt andere ähnlich spezialisierte Vervollständigungsfunktionen (z. B. complete-hostname
, complete-username
), die Sie möglicherweise nützlich finden. Siehe man 1 bash
oder dieOnline-Handbuchum sie und ihre Standardbindungen zu entdecken.