Три вещи, о которых следует подумать:
1) Настроен ли удаленный хост для аутентификации по ключу? (См. man sshd_config
AuthenticationMethods и PubkeyAuthentication)
2) Запланировано ли выполнение задания cron в контексте правого пользователя (root или другой пользователь)
3) Есть ли у вас разрешение на удаленном компьютере? хост в целевой каталог.
Вы можете использовать строковые функции в awk
.
$ (echo BASH.NIR; echo SH.ABI FOOBAR) | awk '{p=index($1,".");print "User is", substr($1,p+1) ", SHELL IS", substr($1,0,p-1)}'
User is NIR, SHELL IS BASH
User is ABI, SHELL IS SH
Функция index
возвращает позицию символа, который нужно найти (в данном случае точку). А strstr
вернет подстроку. Мы используем p+1
и p-1
, чтобы не включать точку.
Дополнительную информацию можно найти в разделе "Строковые функции" руководства awk
.
Вы можете просто использовать .
в качестве разделителя полей:
awk -F. '{ print "User is " $2 ", SHELL is " $1 }' file.txt