Назад | Перейти на главную страницу

Мне нужно расширить свой вывод, чтобы включить файл в этот сценарий Bash

У меня есть сценарий, запрашивающий удаленный сервер на основе ввода данных пользователем и ищущий дату последнего изменения файла. Это работает, однако, содержащаяся в файле строка, которую мне также нужно отобразить, и все, что я пробовал, было напрасно. Буду очень признателен за любую помощь.

Сценарий

echo "Input server name:"
read server
echo "Input user:"
read user

ssh $server "find /home/  -maxdepth 2 -name .lastlogin | xargs -l -I{} bash -c '{
stat -c \"User: %U Last Login : %y\" {} | cut -c -47 |grep $user; 
}'"

Текущий образец вывода

User: owner Last Login : 2014-07-24 15:05:39

Мне нужен этот вывод, чтобы включить содержимое этого файла, .lastlogin, который оказывается IP-адресом.

Желаемый образец вывода

User: owner Last Login : 2014-07-24 15:05:39 From: 172.0.0.1

Очень просто:

ssh $server "readlink -f /home/$user/.lastlogin | \
    xargs -l -I{} bash -c '{
      stat -c \"User: %U Last Login : %y\" {} | cut -c -47 | grep $user;
      echo -n \"From: \" ; cat {} ; echo ; 
    }'"

я хотел бы использовать readlink -f вместо того find.

Закончил этим, отлично поработал.

echo "Server name:"
read server
echo "Search for user:"
read user

OUTPUT1=$(ssh $server "find /home/$user/.lastlogin | xargs -l -I{} bash -c '{
stat -c \"User: %U Last Login : %y\" {} | cut -c -47;
}'")

OUTPUT2=$(ssh $server "cat /home/$user/.lastlogin")

echo "$OUTPUT1 From: $OUTPUT2"
exit

Вывод:

User: owner Last Login : 2014-07-24 15:05:39 From: 172.0.0.1