Я создаю сценарий bash, который автоматически копирует исходные файлы C и файлы заголовков из определенного каталога на другом хосте в каталог, в котором я нахожусь на текущем хосте.
В настоящее время он генерирует эту команду: ssh host2 "cd dir1/dir2 && find . -maxdepth 1 -regextype posix-extended -regex '.*.(c|h)' | tar -T - -c -f -" | смола хф -
Проблема в том, что я получаю эту ошибку: «tar: это не похоже на архив tar»
Эта ошибка выводится окончательным tar (tar xf -), потому что по какой-то причине файл tar, который передается по конвейеру, поврежден.
Если вместо этого я сделаю это, используя комбинацию ssh, tar и scp, все будет работать нормально, но для этого мне потребуется дважды ввести свой пароль (для host2) (один раз для ssh и один раз для scp). Я мог бы ввести пароль в качестве аргумента сценария, но я не хочу, чтобы он отображался в моей истории bash.
Любые идеи?