Выполните код на удаленной машине и скопируйте результаты назад

Если Вы просто хотите заменить все содержание файла, вместо того, чтобы так или иначе вставить Ваш вывод в середине, то Ваша попытка № 1 может быть ближе к тому, на основе чего Вы хотите, чем подход sed, если Вы перенаправляете вывод всего цикла:

#!/bin/bash

list_dir=`ls -t downloads/`

for i in $list_dir
do
    echo "<a href=\"downloads/$i\">$i</a>"
done > index.html
4
13.04.2017, 15:36
2 ответа

нет ничего после на строке после ssh-X usr@machene_wehere_i_run_the_code в вашем коде. Так, чтобы команда вошла в систему на machene_wehere_i_run_the_code и ничего не сделала.

В примере ssh звонят в принятый ответ вопроса, который вы заключаете в кавычки существует дополнительный параметр:

ssh user@host path_to_script

и path_to_script отсутствует в вашем.

1
27.01.2020, 20:55

Я бы попытался поставить аргументы SSH в двойных цитатах.

ssh usr@machene_wehere_i_run_the_code "/home/run_dir_script/run.sh inp 8"

Также на основе этого сообщения об ошибке звучит как скрипт, не может найти этот скрипт:

/home/run_dir_script/run.sh: line 59: /home/run_dir_script/merge_tabs.s.sh: нет такого файла или каталога

Также я бы заблокировал SCP , если SSH не возвращает успешный статус:

ssh usr@machene_wehere_i_run_the_code "/home/run_dir_script/run.sh inp 8"
status=$?

if $status; then
  scp -p usr@machene_wehere_i_run_the_code:/home/run_dir_script/results \
    user@machine_where_the_resutlst_are_needed:~/
fi

нижняя линейная проблема, хотя и есть проблема с вашим сценарием, расположенным Подчиненные скрипты на удаленной системе. Могут быть переменные, которые устанавливаются при входе в систему и запустите свой скрипт, против входа через SSH и запустите свой скрипт.

Для них я бы сравнил вывод env , используя оба метода.

3
27.01.2020, 20:55

Теги

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