2016-05-26 3 views
1

Я пытаюсь понять часть функции поиска, написанную в фрагменте кода, приведенном ниже.Что такое -d значение в выражении if в оболочке?

if [ -d $1] 
then 
<action block> 
+0

Тип: 'man test' – Barmar

+2

Не должно быть' = 'после' -d'. Вы уверены, что скопировали код правильно? – Barmar

+0

Yep..got tat ... -f работает одинаково для файла? можно ли искать с помощью/-d опции -d/-f? –

ответ

1

Вы можете использовать его, чтобы определить, если каталог существует как

if [ -d "$DIR" ]; then 
    # code 
fi 
+2

Да, но, пожалуйста, не используйте имена переменных оболочки с верхним регистром, чтобы [избегать конфликтов с переменными среды и специальными переменными оболочки] (http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html# tag_08_01). – mklement0

1

Параметр -d используется для поиска, если данный каталог существует или нет. Если оно существует, условие будет истинным. если не условие будет ложным.

Где -f используется для определения того, существует ли данный файл или нет. Если оно существует, условие будет истинным. если не состояние будет ложным

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