Você precisa de uma função, não de um alias. Experimente:
newfolder() { mkdir -p "$1" && cd "$1"; }
Exemplo:
$ pwd
/tmp
$ newfolder dir1/dir2
$ pwd
/tmp/dir1/dir2
Notas:
-
A opção
-p
paramkdir
diz para criar diretórios-pai ausentes, se necessário. No exemplo acima,dir1
não existia, masmkdir -p dir1/dir2
crioudir1
edir2
. -
Como usamos o operador de shell
&&
, o comandocd
será executado apenas se o comandomkdir
for bem-sucedido. -
Os aliases são úteis em casos muito simples em que uma cadeia fixa pode ser substituída por uma palavra. Os aliases não processam argumentos.
-
Como estamos usando uma função de shell no lugar de um alias, podemos referenciar os argumentos, como, neste caso,
$1
, de acordo com nossas necessidades.