Как в unix написать команду которая либо создаёт папку, либо...

Рейтинг: 2Ответов: 3Опубликовано: 30.01.2011

Подскажите плиз скрипт в линукс, который бы делал следующее:

  1. Проверять, существует ли папка
  2. Если да, то ничего не делать.
  3. Если нет, то создать эту папку

Ответы

▲ 5Принят

В bash-скрипте (mkdir.sh) можно сделать так:

DIR=$1

if [ ! -d "$DIR" ]; then
    # Создать папку, только если ее не было
    mkdir $DIR
fi

Запускать как

$ ./mkdir.sh

Еще можно проверить, не является ли имя символической ссылкой:

DIR=$1

if [[ ! -d "$DIR" && ! -L "$DIR" ]] ; then
    # Создать папку, только если ее не было и не было символической ссылки
    mkdir $DIR
fi
▲ 7
mkdir -p

Создаст подкаталоги, если надо (mkdir -p a/b/c), ну и попутно не среагирует на уже созданный каталог.

▲ 6

mkdir <name> 2> /dev/null