Szukam sposobu na utworzenie katalogu i zmianę mojego obecnego katalogu roboczego na nowo utworzony katalog za pomocą jednego polecenia. W jaki sposób mogę to zrobić?
tj. Zamiast robić
user@Computer:~$ mkdir NewDirectory
user@Computer:~$ cd NewDirectory
user@Computer:~/NewDirectory$
chcę zrobić
user@computer:~$ **command** NewDirectory
user@Computer:~/NewDirectory$
Jakie może być polecenie ?
źródło
mkdir "NewDir" && cd "$_"
działa świetnie niżmkdir "NewDir" && cd "NewDir"
nie działa automatyczne uzupełnianie. BTW co to jest „$ _”?mkdir
aby przejść do utworzonego nowego katalogu..bashrc
;)Nie ma do tego wbudowanej funkcji, ale możesz użyć funkcji powłoki, aby nie musieć ponownie wpisywać argumentu
cd
polecenia po uruchomieniumkdir
:cd
, a następnie Esc .(lub Alt+. ), aby wstawić ostatni argument z poprzedniego polecenia.cd !$
wykonujecd
się na ostatnim argumencie poprzedniego polecenia.mkdir
nacd
.Możesz zdefiniować prostą funkcję make-and-change-directory w
~/.bashrc
:Załaduj ponownie
.bashrc
(. ~/.bashrc
) lub uruchom ponownie bash, a teraz możesz pisaćmkcd new-directory
.Ta prosta wersja zawiesza się w niektórych nietypowych przypadkach obejmujących dziwne nazwy katalogów lub
..
dowiązania symboliczne. Oto jeden, który ma. Aby uzyskać wyjaśnienia, zobacz wersję tego pytania dla systemów Unix i Linux .źródło
istnieje rozwiązanie wymienione powyżej (to samo co moje rozwiązanie, ale bez opcji -p), ale myślę, że ma kilka pułapek.
Daje nam to dwie korzyści:
&& cd "$_"
przejdzie do nowo utworzonego katalogu, ponieważ$_
przytrzymaj wartość zwróciła mójmkdir
źródło