2014-12-12 3 views
0

Мы предполагаем, что в текущем каталоге есть несколько каталогов с именем D.userid, каждый из которых содержит представленные файлы Java. Как определить, существует ли в каталоге каталог D.userid? Каким должен быть код. Я не это мина ОбрядПроверьте, существует ли D.userid в оболочке каталога

#!/bin/bash 

if [ -d "$D.*" ] 
then 


else 
    echo "no .java file(s) submitted" 
    exit  
fi 
done 
+0

Единственное, что не так, так это то, что вы должны использовать 'else' для отрицательного случая, а не для второго, встроенного' if'. –

+0

проверить мой новый код? проверяет, существует ли D.id? – Heyyyy

ответ

1

Поскольку вы предполагаете есть файлы, и только хотите быть в курсе, что их нет, я думаю, что это разумно:

ls D.* > /dev/null  # try to list the files. we don't need output 
return=$?    # save the return value of ls just in case 
if [ $return -ne 0 ]; # compare it to 0 (success) 
then 
    echo "No files." 
fi 

ls возвращает 2, если файлы не найдены, поэтому, если вы хотите, вы можете использовать это напрямую. Конечно, он не проверяет, что это каталоги, но это еще один способ.

+0

вы можете помочь с этим http://stackoverflow.com/questions/27436607/need-to-create-a-output-directory-with-result-equals-name-after-symbol – Heyyyy

Смежные вопросы