Вам не нужно проверять состояние выхода, просто проверьте, существует ли каталог, и увеличьте его. Вот один из способов
#!/usr/bin/env bash
counter=1
while [[ -e $counter ]]; do
((counter++))
done
if ! mkdir "$counter"; then ##: mkdir failed
echo failed ##: execute this code
fi
POSIX sh shell.
#!/usr/bin/env sh
counter=1
while [ -e "$counter" ]; do
counter=$((counter+1))
done
if ! mkdir "$counter"; then ##: If mkdir failed
echo failed ##: Execute this code
fi
Что ж, если вы просто собираетесь отменить статус выхода mkdir
в то время как l oop, тогда вы можете также используйте until
, который противоположен while
counter=1
until mkdir "$COUNTER"; do
:
COUNTER=$((COUNTER + 1))
done