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
-pparamkdirdiz para criar diretórios-pai ausentes, se necessário. No exemplo acima,dir1não existia, masmkdir -p dir1/dir2crioudir1edir2. -
Como usamos o operador de shell
&&, o comandocdserá executado apenas se o comandomkdirfor 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.