Ich suche nach einer Möglichkeit, ein Verzeichnis zu erstellen und mein aktuelles Arbeitsverzeichnis mit einem einzigen Befehl in ein neu erstelltes Verzeichnis zu ändern. Wie kann ich das machen?
dh anstatt zu tun
user@Computer:~$ mkdir NewDirectory
user@Computer:~$ cd NewDirectory
user@Computer:~/NewDirectory$
Ich will das tun
user@computer:~$ **command** NewDirectory
user@Computer:~/NewDirectory$
Was kann der Befehl sein?
quelle
mkdir "NewDir" && cd "$_"
funktioniert besser, alsmkdir "NewDir" && cd "NewDir"
wenn die automatische Vervollständigung nicht funktioniert. Übrigens, was ist "$ _"?mkdir
neu erstelltes Verzeichnis zu wechseln..bashrc
;)Dafür gibt es keine eingebaute Funktion, aber Sie können die Shell-Funktionalität verwenden, um zu verhindern, dass Sie das Argument des
cd
Befehls nach der Ausführung erneut eingeben müssenmkdir
:cd
dann Esc .(oder Alt+ .) ein, um das letzte Argument aus dem vorherigen Befehl einzufügen.cd !$
Führtcd
das letzte Argument des vorherigen Befehls aus.mkdir
incd
.Sie können eine einfache Funktion zum Ändern und Ändern des Verzeichnisses definieren in
~/.bashrc
:Laden Sie Ihr
.bashrc
(. ~/.bashrc
) neu oder starten Sie bash neu, und jetzt können Sie tippenmkcd new-directory
.Diese einfache Version schlägt in einigen ungewöhnlichen Fällen fehl, bei denen es um seltsame Verzeichnisnamen oder
..
symbolische Links geht. Hier ist einer, der es tut. Erläuterungen finden Sie in der Unix- und Linux-Version dieser Frage .quelle
Es gibt eine Lösung, die oben aufgeführt ist (dieselbe wie meine Lösung, aber ohne Option -p), aber ich denke, sie hat ein paar Fallstricke.
Daraus ergeben sich zwei Vorteile:
&& cd "$_"
wechselt in das neu erstellte Verzeichnis, da$_
hold den Wert my zurückgabmkdir
quelle