Я пытаюсь создать сценарий оболочки, который отображает кучу команд и позволяет довольно просто отправлять электронные письма.

{
  echo $(hostname)
  echo ""
  echo "Uptime" $(uptime)
  echo ""
  echo "Who is on the server?" $(who)
  echo ""
  echo "Recent logs" $(last)
}| mail -s "Homework Report" myemail@gmail.com

Выводы по электронной почте все в одном предложении, в необработанном формате:

myhostname.com

Время безотказной работы 14:27 до 15:59, 1 пользователей, средняя загрузка: 0,44, 0,55, 0,51

Кто на сервере? ec2-пользователь pts/0 17 дек. 14:26 (pool-123-45-678-91.state.fios.verizon.net)

Последние журналы ec2-user pts/0 17 декабря 14:26 pool-123-45-678-91.state Вс 17 дек 14:26 все еще вошли в pool-123-45-678-91.state Вс 17 дек 05:12 - 05:13 (00:01) pool-123-45-678-91.state Sun 17 дек. 02:45 - 05:12 (02:26) ec2-пользователь pts/0 pool-123-45-678-91 .state Sat 16 22:28 - 02:16 (03:47) время загрузки Sat 16 декабря 22:28 время выключения Sat 16 декабря 22:27 ec2-пользователь pts/0 pool-123-45-678-91.state Сб 16 дек 21:48 - отключение (00:38) ec2-user pool-123-45-678-91.state пт 15 дек 23:45 - 23:45 (00:00) ec2-user pts/0 pool- 123-45-678-91.state Пт 15 декабря 23:23 - 23:23 (00:00) ec2-пользователь pts/0 pool-123-45-678-91.state Пт 15 декабря 23:23 - 23: 23 (00:00) время загрузки пт 15 дек 23:23 время загрузки пт 15 дек 23:21 utx.log начинается пт 15 дек 23:21:59 UTC 2017

Каков наилучший способ форматирования выходных данных, чтобы они выглядели как выходные данные в командной строке?

1 ответ1

1

Переменная $ last отображается как отдельные слова - заключите ее в кавычки («$ last»), чтобы сохранить переводы строки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .