Bash-Verzeichnisname mit einem Leerzeichen in CDPATH

Bash-Verzeichnisname mit einem Leerzeichen in CDPATH

Ich versuche, eine Verknüpfung einzurichten, damit ich nicht so oft einen wirklich langen Verzeichnisnamen eingeben muss. In ~/.bash_profilemache ich etwas Ähnliches wie:

export CDPATH=".:~:/This/Is/A/Really/Long/Path/That/Ends/With/My Name"

Wie kann ich das Leerzeichen in einem Verzeichnisnamen vermeiden/bewahren, wenn ich versuche, diese Variable festzulegen?

Ich habe verschiedene Lösungen ausprobiert (Verwendung von einfachen oder doppelten Anführungszeichen, Escapen mit einem Backslash (ich habe sogar 'My\\\ Name') versucht, überhaupt keine Anführungszeichen und Kombinationen dieser Optionen).

Danke.

Antwort1

export CDPATH=".:~:/This/Is/A/Really/Long/Path/That/Ends/With/My Name"

sollte gut sein

ich habe es versucht

cd /tmp/
mkdir "aaa bbb"
mkdir "aaa bbb/a" "aaa bbb/b"
export CDPATH="/tmp/aaa bbb"

Und

cd a

funktioniert einwandfrei

Wenn Sie das Verzeichnis schneller wechseln möchten, können Sie auch einen Alias ​​erstellen

alias longpath="cd '/This/Is/A/Really/Long/Path/That/Ends/With/My Name'"

aber es wird das Problem des Kopierens in dieses Verzeichnis nicht lösen

cp longpath

wird nicht funktionieren.

Vielleicht funktioniert es nicht richtig und Sie sollten die Bash-Vervollständigung installieren und aktivieren – sie definiert eine _cd-Funktion und legt sie als Vervollständiger für den CD-Befehl fest, der die Standardvervollständigung überschreibt und $CDPATH einschließt.

verwandte Informationen