хранение вывода математического выражения - PullRequest
0 голосов
/ 21 ноября 2018

Я новичок в SunOS Unix.Я хочу сохранить время работы и преобразовать его в минуты в сценарии оболочки.ниже то, что я использовал внутри скрипта.

hrs=`uptime | awk '{print \$5}' | sed 's/[:,]/ /g' | awk '{print \$1}'`
mins=`uptime | awk '{print \$5}' | sed 's/[:,]/ /g' | awk '{print \$2}'`
uptimesecs=$(($mins*60)))

и ошибка, которую я получил в скрипте.

enter image description here

Может кто-нибудь помочь мнес синтаксисом

1 Ответ

0 голосов
/ 21 ноября 2018

Вы цитируете $ s в сценариях awk:

hrs=`uptime | awk '{print $5}' | sed 's/[:,]/ /g' | awk '{print $1}'`
mins=`uptime | awk '{print $5}' | sed 's/[:,]/ /g' | awk '{print $2}'`

Вы также выполняете больше работы, чем необходимо.Получите время работы один раз :

uptime=$(uptime | awk '{print $5}')

Затем разделите значение на : с помощью самой оболочки.

IFS=: read hrs min <<< "$uptime"
...