Попробуйте:
stat -fc %a /mountpoint
%a
- доступные блоки для не-суперпользователя. Используйте %f
для общего количества свободных блоков. Обратите внимание, что %s
- это размер блока, поэтому если вам нужно, скажем, общее количество свободных байт, вы можете сказать что-то вроде:
stat -fc '%f * %s' /mountpoint | bc
Дополнительные параметры см. на странице руководства stat(1). В целом, с stat(1)
будет проще работать, чем с df
для разборчивого вывода.
Я вообще делаю так, как ты хочешь:
#!/bin/bash
{
cat <<-EOF
=========================================================
Step : SHUTTING Down of database
Start : `date `
========================================================
EOF
export SHUT=/home/oracle/SHUT.txt
>$SHUT
sqlplus -s / as sysdba <<-EOF
set feedback off verify off termout off linesize 120 pagesize 500;
spool $SHUT
shut immediate;
spool off;
exit;
EOF
cat $SHUT
cat <<-EOF
=========================================
Status : Completed
End : $(date)
=========================================
EOF
} | mailx -s "Shutdown_of_'$ORACLE_SID'_$(hostname)_Completed_$(date "+%Y_%b_%d") " \
email_adress@.com
В приведенном выше примере создается подоболочка, которая будет захватывать все выходные данные команд внутри нее. Затем мы передаем весь этот вывод напрямую в mailx
.
ПРИМЕЧАНИЕ.:Обратите особое внимание на любые дополнительные интервалы вокруг маркеров EOF
при использовании здесьдокументов. Неверный лишний пробел в конце EOF
может привести к тому, что он не будет работать.