Пока что у меня есть это. Есть ли более эффективный способ?
if ls -1 $HOME/path/to/folder/* >/dev/null 2>&1
then
echo Directory is not empty.
else
echo Directory is empty.
fi
Пока что у меня есть это. Есть ли более эффективный способ?
if ls -1 $HOME/path/to/folder/* >/dev/null 2>&1
then
echo Directory is not empty.
else
echo Directory is empty.
fi
Это стандартное упражнение во всех книгах / блогах / руководствах по оболочкам: в bash
[ "$(ls -A /path/to/directory)" ] && echo "Not Empty" || echo "Empty"
Bash не имеет стандартного теста для пустой директории, такой как [-f file], поэтому мы должны написать его. Тест && затем 1 || или 2 - это стандартный способ сокращения условного выражения в форме
if condition is satistfied
then do 1
else
do 2
fi