У Bash, як перевірити, чи є каталог із заданим шляхом?


-1

У мене є такий баш-код:

drlist="/backups /Blogs /data /dpkg-repack /Scripts /var/www";
for word in $drlist; do
 echo $word;
done

Що мені потрібно зробити - це перевірити, чи $wordіснує як каталог, а чи ні:

mkdir $word;
chown -R $user:users $word;
chmod -R 775 $word;

Тоді всі грязі існують і правильно встановлені для моєї обробки, що випливає.


На жаль, не зміг потрапити в режим «коду» з мого телефону!
OldManRiver

FYI: Чотири провідні пробіли роблять рядок у форматі коду.
Каміль Маціоровський

Відповіді:


1

Останній код:

drlist="/backups /Blogs /data /dpkg-repack /Scripts /var/www";
for word in $drlist; do
    if [[ -d "$word" ]]; do
        echo "Found Dir=> $word";
    else
        echo "Creating Dir=> $word";
        mkdir -p $word;
        chown -R $user:users $word;
        chmod -R 775 $word;
    fi
done

Звичайно, я справді не хочу бачити відлуння і не міг вирішити негатив для тесту на дір, тому все-таки потрібно трохи допомогти з цим.

На поточній тестованій машині це було вірно, знайшовши все, окрім "Блогів", який він правильно створив!

Ура!

OMR

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.