Как я могу запустить команду sshpass с удаленной средой, используя исходный эффект ~/.bashrc

Вам нужно сделать

while IFS= read -r line

Установка IFS на пустую строку сохранит пробелы.
Использование -rсохранит все последовательности обратной косой черты в тексте.


Если вас беспокоит производительность, имейте в виду, что while readцикл в bash очень медленный. Если вы хотите разбить ввод на строки и потребление памяти не является проблемой, прочитайте ввод в массив строк:

mapfile -t lines < x.tmp
for line in "${lines[@]}"; do
    do_something_with "$line"
done
0
15.04.2020, 14:49
1 ответ

Одно простое решение, хотя и не обязательно лучшее:

sshpass -p passwd ssh dennis@ip "(./.bashrc;python xx.py)"

Это должно сработать.

1
19.03.2021, 02:28

Теги

Похожие вопросы