echo "$LOG_FILE" | sed -n '$p'
не извлекает последнюю строку файла $LOG_FILE
, она берет последнюю строку того, что отправляется на его стандартный ввод, то есть имя вашего файла журнала ( /var/lib/backuppc/log/LOG
), который должен появиться в вашем электронном письме.
Правильный синтаксис будет следующим:
sed -n '$p' "$LOG_FILE"
Или, лучше, так как отображение N последних строк — это работа tail
:
tail -n 1 "$LOG_FILE"
Надеюсь, это совместимо с вашим Solaris - я тестировал его под SunOS 5.10 с bash 4.3.26:
find . | while read f; do
if [ ! -d "$f" ]; then
echo $(basename "$f"),$(dirname "$f")
fi
done
Здесь просто используется базовое имя
и имя каталога
для разделения имени файла .
$ find test | while read f; do if [ ! -d "$f" ]; then echo $(basename "$f"),$(dirname "$f"); fi; done
ex4,test/sample2
ex3,test/sample2
ex2,test/sample1
ex1,test/sample1