Если у каждого файла нет дубликатов, вы можете сделать следующее:
# In file_1 and file_2
sort file_1 file_2 | uniq -d
# In file_1 or file_2 but not both
sort file_1 file_2 | uniq -u
# In file_1 and not file_2
sort file_1 file_2 | uniq -d | sort - file_1 | uniq -u
# In file_2 and not file_1
sort file_1 file_2 | uniq -d | sort - file_2 | uniq -u
Посмотрите на команду expect
. Это система, созданная для взаимодействия с приложениями и имитации поведения пользователя.
(но, конечно, правильным решением является отказ от паролей в пользу ключей)
Включение ваших паролей в скрипты — очень плохая практика безопасности. Но если вы должны сделать это по причинам, вы можете использовать для этой цели такой инструмент, как sshpass
.
Тем не менее, я настоятельно рекомендую вам изучить возможность использования аутентификации по паре ключей для подобных заданий.
Если вы находитесь на хосте a.example.com
и у вас есть задания для выполнения на b.example.com
, вы можете настроить себя на это с помощью следующих команд:
ssh-keygen
-Будет создана пара ключей открытый/закрытый, которая будет использоваться для аутентификации ssh-copy-id username@b.example.com
-Это настроит ваш открытый ключ на удаленном хосте для использования. При выполнении этой команды вас попросят ввести пароль, но с этого момента ключи будут использоваться для аутентификации. С этого момента вы можете использовать e. г. ssh username@b.example.com 'command'
для запуска command
на удаленном хосте.