execute o script como abaixo.
./script.sh abc/def/ghi/jkl
#!/bin/bash
DIR_LIST=${1}
IFS=/
for DIR_NAME in ${DIR_LIST}
do
mkdir ${DIR_NAME}
cd ${DIR_NAME}
done
Estou escrevendo um script que substitui o comando mkdir -p. Aqui está o que eu tenho até agora:
#!/bin/sh
n=1;
max=50;
while [ "$n" -le "$max" ]; do
mkdir "s$n"
n='expr "$n" + 1';
done
Eu deveria poder usar este script para digitar aaa / bbb / ccc e ele fará esses diretórios.
execute o script como abaixo.
./script.sh abc/def/ghi/jkl
#!/bin/bash
DIR_LIST=${1}
IFS=/
for DIR_NAME in ${DIR_LIST}
do
mkdir ${DIR_NAME}
cd ${DIR_NAME}
done
Usando uma função recursiva:
#!/bin/bash
mkdir_p() {
local path=$1
local parent=${path%/*}
[[ ${path} != /* ]] && parent=${PWD}/${parent}
[[ ! -d $parent ]] && mkdir_p "${parent}"
[[ ! -d $path ]] && mkdir "${path}"
}
mkdir_p "${1}"
Tags mkdir shell-script