сценарий для замены команды mkdir -p

Чтобы добавить к решению Анджея, вы можете установить блокировку для более широкой области, чем только один рецепт, если вам нужно, с помощью специальной переменной LOCKFILE.

# Only one instance of Procmail can enter this region
LOCKFILE=.procmail-critical-region.lock

:0
* condition
| action

value=`program`

:0
* another condition
| another action

# We are done now; okay for another instance to enter
LOCKFILE=

В принципе, у вас может быть несколько критических секций, защищенных одним и тем же файлом блокировки, хотя мне сложно представить сценарий, в котором это было бы действительно полезно.

0
10.12.2016, 03:23
2 ответа

выполните сценарий, как показано ниже.

./ 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
3
28.01.2020, 02:19

Использование рекурсивной функции:

#!/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}"
1
28.01.2020, 02:19

Теги

Похожие вопросы