Сценарий init будет иметь путь. Использование ModProbe, чтобы убедиться, что ваши модули KVM загружаются в ядро, могут быть ненужными, так как они могут быть уже загружены, но если вы столкнулись с проблемами, вы всегда можете добавить его в свой скрипт.
Вы можете сделать что-то вроде:
if dirs="$(find /etc/aaa -type dir -maxdepth 1 2> /dev/null)"; then
for dir in ${dirs}; do
# Your code
done
# Your code
else
# find failed, generate error
fi
Я не понимаю, почему вы хотите выйти из цикла в середине его выполнения. Я не думаю, что цикл стоит выполнять, если желаемый каталог отсутствует.
Я думаю, вам следует сделать что-то вроде:
if [ ! -d /etc/aaa ]; do
echo "Error"
exit 1
else
for files in $(ls /etc/aaa); do
# code
done
# more code
fi
Если это совсем не то, что вы ищете, пожалуйста, объясните, чего вы хотите достичь.
Думаю, проще провести логический тест перед циклом. Но это взлом n' косой черты в for-statement:
for dir in `! find /etc/aaa -type d -maxdepth 1 2>/dev/null && echo error && exit`;
do
//your code
done
//your code
Это также подавит stderr find.