Único comando “mkdir” para criar um novo diretório e mudar para esse diretório ao mesmo tempo? [duplicado]

0
    

Esta pergunta já tem uma resposta aqui:

    

Pergunta rápida:

É possível usar "mkdir" para criar um novo diretório E mudar para esse diretório ao mesmo tempo usando um único comando 'mkdir'?

Toda a questão:

Eu tenho esta pergunta:

What single Linux “mkdir” command could replace the sequence of commands?
         mkdir a
         cd a
         mkdir b
         cd b
         mkdir c
         cd ../..

Minha resposta é:

         mkdir a b c && cd c

Existe um único comando "mkdir", sem usar nenhum outro comando, talvez com alguns sinalizadores ou algo assim, eu posso usar para fazer E alterar o diretório ao mesmo tempo?

    
por Mandingo 22.11.2018 / 08:03

2 respostas

2

A pergunta que você faz ao usar um único comando mkdir para fazer o mesmo que as outras etapas realmente não envolve alterar os diretórios. Ele termina com cd ../.. , que traz de volta ao diretório em que você estava no começo.

Com efeito, essa sequência de comandos cria um diretório a , depois um diretório b dentro dele (em outras palavras, a/b ), então um diretório c dentro do recém criado b (em outras palavras, a/b/c .)

Você pode fazer o mesmo com um único comando mkdir que cria os diretórios aninhados depois de criar seus pais:

mkdir a a/b a/b/c

Outra forma é usar a opção mkdir -p , que criará os diretórios-pai, se necessário, para que você não precise especificá-los:

mkdir -p a/b/c

Isso não responde à sua pergunta no título (para mkdir + cd veja as duplicatas dos comentários), mas aborda a questão em seu texto, sobre o comando mkdir único equivalente para essa sequência, em que o fim da seqüência, o diretório é o mesmo que no início dele.

    
por 22.11.2018 / 08:14
1

Faça isso como uma função:

mkcdir ()
{
    mkdir -p -- "$1" &&
      cd -P -- "$1"
}
    
por 22.11.2018 / 08:11

Tags