Esto es algo que hago frecuentemente
$ mkdir foo
$ cd foo
Esto funciona como un solo comando, pero es más pulsaciones de teclas y no ahorra tiempo.
$ mkdir foo && cd foo
¿Hay un atajo para esto?
Editar
Con el uso de ayuda a continuación, esta parece ser la respuesta más elegante.
# ~/.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
fuente
fuente
mkdir
si la usa encommand mkdir $1
lugar de solomkdir $1
en el cuerpo de la función.Respuestas:
No soy un experto en Linux / bash, pero intenta poner esto en tu
.bashrc
.PD: Gracias a Dennis por usar
command mkdir
.fuente
`which mkdir`
, solo úsalocommand mkdir
.man command
, ¿podría dirigirme a una referencia? (Puedo resolver lo que hace, pero vale la pena ser minucioso;)command
se describe en el manual debash
(que está integrado; no es un comando separado). También podrías intentarlohelp command
.El
bash
,zsh
conchasSi no desea que otra función recuerde y no le importe el basismo:
La
$_
variable de comando bash (subrayado en dólares) contiene el parámetro más reciente. Entonces, si un usuario escribiera lo siguiente en la línea de comando:,echo foo bar && echo $_ baz
la salida sería la siguiente:La
fish
cáscaraEn la concha de pescado, escribiría lo siguiente:
La tecla alt combinada con la tecla de flecha hacia arriba o hacia abajo pasará por el historial de parámetros de comando.
fuente
zsh
.Para usuarios de oh-my-zsh :
$ take 'directory_name'
Referencia: https://github.com/robbyrussell/oh-my-zsh/wiki/Cheatsheet
fuente
type take
, entonces obtendrástake is a shell function from /home/username/.oh-my-zsh/lib/functions.zsh
. vi el archivo que obtienesfunction take() { mkdir -p $@ && cd ${@:$#} }
Qué pasa:
Es un poco más fácil que usar &&, combinando las respuestas de quack quixote y kzh.
fuente
&&
es quecd
no se ejecutará si elmkdir
comando fallaPuedes probar algo como esto:
Guarde este script en algún lugar que esté en su ruta, por ejemplo, / usr / local / bin o ~ / bin (debe colocar este último en su ruta en su archivo ~ / .profile). Entonces puedes simplemente llamarlo.
fuente
cd
dentro del contexto de la ejecución del~/bin/mkcd
script, no el llamador del script.fuente
Aquí hay una función simple que puse en mi
~/.config/fish/config.fish
archivo que realiza esta tarea:La
-pv
etiqueta permite la creación de directorios con subdirectorios.fuente
Dependiendo del resultado deseado si el directorio ya existe.
Falla si el directorio ya existe
Cambiar directorio independientemente
Uso de mkcd some / path / to / my / dir
fuente
Descubrí que la siguiente función solo puede hacer un directorio, si quiero hacer subdirectorios al mismo tiempo, no funciona:
Así que lo cambié y ahora funciona muy bien.
fuente