Как передать аргумент даты программе C, выполняющей «последнюю» команду? - PullRequest
0 голосов
/ 04 декабря 2018

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

Однако, когда я пытаюсь запустить клиент иПередав аргумент даты в терминале, я получаю ошибку «Недопустимое значение времени», когда сервер пытается выполнить «последнюю» команду.

last: invalid time value "2018-12-01"

Вызов клиента:

./client "2018-12-01"

Команда хорошо работает с этим значением при выполнении из сценария оболочки, но я не могу понять, как поместить его в мою серверную программу.Это то, что я пробовал до сих пор:

char command[200];
strcpy(command, "last -s ");
strcat(command, mess.clientMsg);    //this contains the date sent by client
strcat(command, "grep -v reboot | cut -d ' ' -f 1 | sort -u");

Есть идеи, как избавиться от кавычек аргумента, переданного клиенту?

...