Często to robię
$ mkdir foo
$ cd foo
Działa to jako pojedyncze polecenie, ale więcej naciśnięć klawiszy i nie oszczędza czasu.
$ mkdir foo && cd foo
Czy jest na to skrót?
Edytować
Przy pomocy poniższej pomocy wydaje się to najbardziej elegancką odpowiedzią.
# ~/.bashrc
function mkcd {
if [ ! -n "$1" ]; then
echo "Enter a directory name"
elif [ -d $1 ]; then
echo "\`$1' already exists"
else
mkdir $1 && cd $1
fi
}
command-line
bash
terminal
shortcuts
macek
źródło
źródło
mkdir
jeśli używaszcommand mkdir $1
zamiast tylkomkdir $1
w treści funkcji.Odpowiedzi:
Nie jestem ekspertem od Linuksa / bash, ale spróbuj umieścić to w swoim
.bashrc
.PS Dzięki Dennis za korzystanie
command mkdir
.źródło
`which mkdir`
prostu użyjcommand mkdir
.man command
- czy możesz skierować mnie do referencji? (Mogę rozgryźć, co robi, ale opłaca się być dokładnym;)command
jest opisane w instrukcjibash
(z której jest wbudowany; nie jest to osobne polecenie). Możesz także spróbowaćhelp command
.The
bash
,zsh
ShellsJeśli nie chcesz, aby inna funkcja zapamiętywała i nie przeszkadzało ci bashizm:
$_
(Dolar podkreślenie) zmienna polecenia bash zawiera najnowsze parametr. Gdyby więc użytkownik wpisał w wierszu poleceń następujące polecenieecho foo bar && echo $_ baz
, wynik byłby następujący:fish
ShellW skorupce ryby wpisałbym:
Klawisz Alt w połączeniu z klawiszem strzałki w górę lub strzałki w dół przełącza historię parametrów poleceń.
źródło
zsh
.Dla użytkowników oh-my-zsh :
$ take 'directory_name'
Odniesienie: https://github.com/robbyrussell/oh-my-zsh/wiki/Cheatsheet
źródło
type take
, to dostaniesztake is a shell function from /home/username/.oh-my-zsh/lib/functions.zsh
. vi plik, a następnie otrzymaszfunction take() { mkdir -p $@ && cd ${@:$#} }
Co powiesz na:
Jest to trochę łatwiejsze niż używanie &&, łączenie odpowiedzi na quack quoteote i kzh.
źródło
&&
to, żecd
nie zostanie wykonane, jeślimkdir
polecenie się nie powiedzieMożesz spróbować czegoś takiego:
Zapisz ten skrypt w miejscu, które znajduje się na twojej ścieżce, na przykład / usr / local / bin lub ~ / bin (musisz umieścić ten ostatni na swojej ścieżce w pliku ~ / .profile). Następnie możesz to po prostu nazwać.
źródło
cd
w kontekście wykonywania~/bin/mkcd
skryptu, a nie wywołujący skrypt.źródło
Oto prosta funkcja, którą umieściłem w moim
~/.config/fish/config.fish
pliku, która wykonuje to zadanie:-pv
Tag pozwala na tworzenie katalogów z podkatalogów.źródło
W zależności od pożądanego wyniku, jeśli katalog już istnieje.
Niepowodzenie, jeśli katalog już istnieje
Zmień katalog niezależnie
Użycie mkcd some / path / to / my / dir
źródło
Przekonałem się, że poniższa funkcja może utworzyć tylko jeden katalog, jeśli chcę jednocześnie tworzyć podkatalogi, to nie działa:
Więc zmieniłem to i teraz działa świetnie!
źródło