Criando vários diretórios usando um parâmetro em um script de shell [duplicado]

0

Eu estou tentando fazer um script bash que faria uma série de diretórios e solicitando um parâmetro de quantos diretórios devem ser criados.

$> ./createDir.sh 5

$> ls

ex_01
ex_02
ex_03
ex_04
ex_05

Eu tentei usar o mkdir ex_ {01 .. $ 1} mas isso não parece correto. Como eu poderia fazer isso funcionar (sem usar nenhum loop)?

    
por RayedB 04.10.2016 / 14:26

1 resposta

1

Você precisará de eval para isso.

#!/bin/bash

start=1
stop=$1

mkdir $(eval echo ex_{$start..$stop})

Mas eu concordo com don_crissti, porque não simplesmente usar um loop?

Antes:

ls -p | grep 'ex_'
<empty>

Depois de executar o script:

./makeDirs.sh 3
ls -p | grep 'ex_'
ex_1/
ex_2/
ex_3/

Leitura adicional:

por 04.10.2016 / 14:50