Я написал сценарий оболочки для создания каталога, если он не существует. Я могу создать новый каталог. Но когда я передаю существующее имя каталога, оператор elif
не выполняется, вместо этого Created Directory
печатает. Что я делаю неправильно?Скрипт оболочки для создания каталога
if [[ ! -e /test/{a,b,c}/$dirname ]]; then
mkdir "/test/{a,b,c}/$dirname"
echo "Created Directory"
elif [[ ! -d /test/{a,b,c}/$dirname ]]; then
echo "$dirname already exists"
fi
Здесь test
, a
, b
и c
каталоги.
** Почему ** Вам нужно знать, существуют ли они уже? Если вы используете 'mkdir -p', они создадут их только в том случае, если их еще нет, и вам не нужно запускать чек. –
Если я передаю существующий каталог, сценарий должен также вызывать ошибку. Это то, что я пытаюсь выполнить –
'mkdir -p"/test/{a, b, c}/$ dirname "|| printf ": каталог не существует и не может создать. \ n" "может быть? –