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

Мне нужно написать системную программу, которая имитирует who и w. Печатайте время с момента входа в систему (в формате ЧЧ: ММ: СС) и имя хоста. Разрешить опцию командной строки -p, которая также печатает интересные процессы, которые запускает пользователь. Прекрасно предназначенные для строк под основной строкой пользователя. например.

23:45:11 vkbhardwaj-Inspiron-5558
11009 -tcsh
13032 vi a.c
13033 ps axl

я использовал эту команду

alias vk="awk '{print int($1/3600)":"int(($1%3600)/60)":"int($1%60)}' /proc/uptime;hostname;pgrep -l"

, но выдает ошибку для этой команды:

awk: line 1: regular expression compile failed (missing '(')
3600):int((%3600)
awk: line 1: syntax error at or near :
vkbhardwaj-Inspiron-5558
pgrep: no matching criteria specified
Try `pgrep --help' for more information.

, пожалуйста, помогите как можно скорее

0
задан 3 May 2016 в 12:36

1 ответ

Используя функцию оболочки вместо alias simplier, я думаю.

Что-то близко к тому, что Вы хотите, было бы:

vk() { lastlog -u "${USER}" | awk -v ORS="" 'END{$1="";$2="";$3="";print}' ; hostname ; if [[ $# > 0 && $1 == "-p" ]] ; then ps -u; fi;}

дата и время последнего входа в систему печатается вместо the time since login

0
ответ дан 3 May 2016 в 22:36
  • 1
    I' m извините, я don' t получают то, что Вы имеете в виду с последним комментарием? – Christina Marinica 11 October 2017 в 01:13

Другие вопросы по тегам:

Похожие вопросы: