Подтвердите существование каталога под домашним каталогом - PullRequest
1 голос
/ 15 ноября 2011

Я хотел бы проверить существование каталога и написать скрипт ниже, но это не работает должным образом.

#!/bin/sh
if [ -d "~/sample" ]
then
    echo 'exists'
else
    echo 'NOT exists'
fi

Сценарии ниже могут работать.

#!/bin/sh
if [ -d "/home/user01/sample" ]
then
    echo 'exists'
else
    echo 'NOT exists'
fi

if [ -d "~/sample" ] что-то не так?

1 Ответ

2 голосов
/ 15 ноября 2011

Да, двойные кавычки - это то, что не позволяет ~ расширяться ... будет работать следующее:

if [ -d ~"/sample" ]; then
   echo "exists"
fi

Обычно лучше использовать:

if [ -d "$HOME/sample" ] ; then
   echo "exists"
fi

$ HOMEобычно устанавливается Bourne shells

...