Попытка проверить пространство в файловой системе в Unix - PullRequest
1 голос
/ 22 марта 2010

Мне нужно проверить, существует ли I Файловая система, и если она существует, в ней есть 300 МБ.

Что у меня так далеко:

if [ "$(df -m /opt/IBM | grep -vE '^Filesystem' | awk '{print ($3)}')" < "300" ]
then
echo "not enough space in the target filesystem"
exit 1
fi

Это выдает ошибку. Я действительно не знаю, что я делаю в оболочке.

Мой главный приоритет - AIX, но я пытаюсь заставить его работать и для HP, и для Sun.

Пожалуйста, помогите.

1012 * для -Alex- *

Ответы [ 2 ]

1 голос
/ 22 марта 2010

Вот код, который я получил.

if [ "$(df -m /opt/IBM/ITM | awk 'NR==2{print ($3)}')" -lt "300" ]
then
    echo "not enough space in the target filesystem"
    exit 1
fi
0 голосов
/ 22 марта 2010

Как насчет публикации ошибки? В любом случае, попробуйте следующий синтаксис, т.е. двойные скобки и без двойных кавычек:

if [[ $(...) < 300 ]]; then
    ...
fi

От человек Баш :

[[выражение]]

Возвращает статус 0 или 1 в зависимости от оценки условного выражение выражение.

...