99 votes

Y a-t-il un raccourci pour mkdir foo et y accéder immédiatement ?

C'est quelque chose que je fais fréquemment

$ mkdir foo
$ cd foo

Cela fonctionne comme une seule commande, mais cela représente plus de frappes et ne fait pas gagner de temps.

$ mkdir foo && cd foo

Y a-t-il un raccourci pour cela ?

Editar

Avec l'utilisation de l'aide ci-dessous, cela semble être la réponse la plus élégante.

# ~/.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
}

6voto

mshameers Points 161
$echo 'mkcd() { mkdir -p "$@" && cd "$_"; }' >> ~/.bashrc
$mkcd < pathtofolder/foldername >

5voto

Voici une fonction simple que j'ai mise dans mon ~/.config/fish/config.fish qui accomplit cette tâche :

function mkcd
    mkdir -pv $argv;
    cd $argv;
end

があります。 -pv permet de créer des répertoires avec des sous-répertoires.

1voto

Taher Hoseini Points 11

Si vous utilisez zsh, il existe un raccourci sympa :

take <Your_folder_name>

et il créera un dossier et le modifiera ;)

0voto

bingles Points 121

Selon le résultat souhaité, si le répertoire existe déjà.

Échec si le répertoire existe déjà

mkcd() {
    mkdir $1 && cd $1
}

Changer de répertoire sans tenir compte

mkcd() {
    mkdir $1 ; cd $1
}

Utilisation mkcd certain/path/to/my/dir

0voto

user5723841 Points 183

J'ai constaté que la fonction ci-dessous ne peut créer qu'un seul répertoire, si je veux créer des sous-répertoires en même temps, cela ne fonctionne pas :

function mkdir
{
  command mkdir $1 && cd $1
}

Alors je l'ai changé et maintenant ça marche très bien !

function mkcd
{
  command mkdir -pv $1 && cd $1 && echo "Now in `pwd`"
}

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X