Выполнять команды на удаленном компьютере

Вы можете передать команду (или список команд, разделенных ;) на SSH-соединение, подобное этому:

ssh user@server-address "./foo 1"

Если у вас есть локальный скрипт, который выводит 0 или [ f5], вы можете упростить следующее:

ssh user@server-address "./foo `/path/to/your/script`"

Код в backticks выполняется перед чем-либо еще, и его вывод помещается в строку динамически.

1
задан 11 February 2011 в 18:55

18 ответов

Вы говорите, что вы также получаете эти строки, поэтому я предполагаю, что вы получите нужный результат вместе с этими сообщениями stderr. Вы можете просто перенаправить части stderr в /dev/null следующим образом:

ssh user@server-name "df -hP | egrep '(/home|/cors)' 2>/dev/null"

или

ssh user@server-name "df -hP 2>/dev/null | egrep '(/home|/cors)'"

В зависимости от того, что делает ошибку.

2
ответ дан 25 May 2018 в 23:02
  • 1
    ssh user @ server-name " df -h | egrep '(/ home | / cors)' " 2 & gt; / dev / null решает проблему ... tnx – Wolfy 15 February 2011 в 11:44

Вы говорите, что вы также получаете эти строки, поэтому я предполагаю, что вы получите нужный результат вместе с этими сообщениями stderr. Вы можете просто перенаправить части stderr в /dev/null следующим образом:

ssh user@server-name "df -hP | egrep '(/home|/cors)' 2>/dev/null"

или

ssh user@server-name "df -hP 2>/dev/null | egrep '(/home|/cors)'"

В зависимости от того, что делает ошибку.

2
ответ дан 25 July 2018 в 22:30

Вы говорите, что вы также получаете эти строки, поэтому я предполагаю, что вы получите нужный результат вместе с этими сообщениями stderr. Вы можете просто перенаправить части stderr в /dev/null следующим образом:

ssh user@server-name "df -hP | egrep '(/home|/cors)' 2>/dev/null"

или

ssh user@server-name "df -hP 2>/dev/null | egrep '(/home|/cors)'"

В зависимости от того, что делает ошибку.

2
ответ дан 26 July 2018 в 22:01

Вы говорите, что вы также получаете эти строки, поэтому я предполагаю, что вы получите нужный результат вместе с этими сообщениями stderr. Вы можете просто перенаправить части stderr в /dev/null следующим образом:

ssh user@server-name "df -hP | egrep '(/home|/cors)' 2>/dev/null"

или

ssh user@server-name "df -hP 2>/dev/null | egrep '(/home|/cors)'"

В зависимости от того, что делает ошибку.

2
ответ дан 2 August 2018 в 03:56

Вы говорите, что вы также получаете эти строки, поэтому я предполагаю, что вы получите нужный результат вместе с этими сообщениями stderr. Вы можете просто перенаправить части stderr в / dev / null следующим образом:

  ssh user @ server-name "df -hP | egrep '(/ home | /  / dev / null " 

или

  ssh user @ server-name" df -hP 2 gt; / dev / null | egrep  '(/ home | / cors)' " 

В зависимости от того, что делает ошибку.

2
ответ дан 4 August 2018 в 19:59

Вы говорите, что вы также получаете эти строки, поэтому я предполагаю, что вы получите нужный результат вместе с этими сообщениями stderr. Вы можете просто перенаправить части stderr в / dev / null следующим образом:

  ssh user @ server-name "df -hP | egrep '(/ home | /  / dev / null " 

или

  ssh user @ server-name" df -hP 2 gt; / dev / null | egrep  '(/ home | / cors)' " 

В зависимости от того, что делает ошибку.

2
ответ дан 6 August 2018 в 04:01

Вы говорите, что вы также получаете эти строки, поэтому я предполагаю, что вы получите нужный результат вместе с этими сообщениями stderr. Вы можете просто перенаправить части stderr в / dev / null следующим образом:

  ssh user @ server-name "df -hP | egrep '(/ home | /  / dev / null " 

или

  ssh user @ server-name" df -hP 2 gt; / dev / null | egrep  '(/ home | / cors)' " 

В зависимости от того, что делает ошибку.

2
ответ дан 7 August 2018 в 22:00

Вы говорите, что вы также получаете эти строки, поэтому я предполагаю, что вы получите нужный результат вместе с этими сообщениями stderr. Вы можете просто перенаправить части stderr в / dev / null следующим образом:

  ssh user @ server-name "df -hP | egrep '(/ home | /  / dev / null " 

или

  ssh user @ server-name" df -hP 2 gt; / dev / null | egrep  '(/ home | / cors)' " 

В зависимости от того, что делает ошибку.

2
ответ дан 10 August 2018 в 10:14

Вы говорите, что вы также получаете эти строки, поэтому я предполагаю, что вы получите нужный результат вместе с этими сообщениями stderr. Вы можете просто перенаправить части stderr в / dev / null следующим образом:

  ssh user @ server-name "df -hP | egrep '(/ home | /  / dev / null " 

или

  ssh user @ server-name" df -hP 2 gt; / dev / null | egrep  '(/ home | / cors)' " 

В зависимости от того, что делает ошибку.

2
ответ дан 13 August 2018 в 16:37
  • 1
    ssh user @ server-name & quot; df -h | egrep '(/ home | / cors)' & quot; 2 & gt; / dev / null решает проблему ... tnx – Wolfy 15 February 2011 в 11:44

Я думаю, у вас есть команда tput в вашем профиле bash или bashrc и т. д. на машине, на которой у вас есть ssh'd. Проверьте файлы .bashrc .bash_profile в своем доме (на удаленном компьютере) или файлы в файле / etc, как тот, который был указан в вашем вопросе. Трудно сказать, что может вызвать это, поскольку вы можете изменить эти файлы, и это может вызвать проблему?

Также зависит, является ли это проблемой, которую вы хотите устранить, или просто хотите, примечание: тогда может быть нормально перенаправить stderr в / dev / null, например (отредактировано: как другой ответ об этом, насколько я могу видеть сейчас).

2
ответ дан 25 May 2018 в 23:02

Я думаю, у вас есть команда tput в вашем профиле bash или bashrc и т. д. на машине, на которой у вас есть ssh'd. Проверьте файлы .bashrc .bash_profile в своем доме (на удаленном компьютере) или файлы в файле / etc, как тот, который был указан в вашем вопросе. Трудно сказать, что может вызвать это, поскольку вы можете изменить эти файлы, и это может вызвать проблему?

Также зависит, является ли это проблемой, которую вы хотите устранить, или просто хотите, примечание: тогда может быть нормально перенаправить stderr в / dev / null, например (отредактировано: как другой ответ об этом, насколько я могу видеть сейчас).

2
ответ дан 25 July 2018 в 22:30

Я думаю, у вас есть команда tput в вашем профиле bash или bashrc и т. д. на машине, на которой у вас есть ssh'd. Проверьте файлы .bashrc .bash_profile в своем доме (на удаленном компьютере) или файлы в файле / etc, как тот, который был указан в вашем вопросе. Трудно сказать, что может вызвать это, поскольку вы можете изменить эти файлы, и это может вызвать проблему?

Также зависит, является ли это проблемой, которую вы хотите устранить, или просто хотите, примечание: тогда может быть нормально перенаправить stderr в / dev / null, например (отредактировано: как другой ответ об этом, насколько я могу видеть сейчас).

2
ответ дан 26 July 2018 в 22:01

Я думаю, у вас есть команда tput в вашем профиле bash или bashrc и т. д. на машине, на которой у вас есть ssh'd. Проверьте файлы .bashrc .bash_profile в своем доме (на удаленном компьютере) или файлы в файле / etc, как тот, который был указан в вашем вопросе. Трудно сказать, что может вызвать это, поскольку вы можете изменить эти файлы, и это может вызвать проблему?

Также зависит, является ли это проблемой, которую вы хотите устранить, или просто хотите, примечание: тогда может быть нормально перенаправить stderr в / dev / null, например (отредактировано: как другой ответ об этом, насколько я могу видеть сейчас).

2
ответ дан 2 August 2018 в 03:56

Я думаю, у вас есть команда tput в вашем профиле bash или bashrc и т. д. на машине, на которой у вас есть ssh'd. Проверьте файлы .bashrc .bash_profile в своем доме (на удаленном компьютере) или файлы в файле / etc, как тот, который был указан в вашем вопросе. Трудно сказать, что может вызвать это, поскольку вы можете изменить эти файлы, и это может вызвать проблему?

Также зависит, является ли это проблемой, которую вы хотите устранить, или просто хотите, примечание: тогда может быть нормально перенаправить stderr в / dev / null, например (отредактировано: как другой ответ об этом, насколько я могу видеть сейчас).

2
ответ дан 4 August 2018 в 19:59

Я думаю, у вас есть команда tput в вашем профиле bash или bashrc и т. д. на машине, на которой у вас есть ssh'd. Проверьте файлы .bashrc .bash_profile в своем доме (на удаленном компьютере) или файлы в файле / etc, как тот, который был указан в вашем вопросе. Трудно сказать, что может вызвать это, поскольку вы можете изменить эти файлы, и это может вызвать проблему?

Также зависит, является ли это проблемой, которую вы хотите устранить, или просто хотите, примечание: тогда может быть нормально перенаправить stderr в / dev / null, например (отредактировано: как другой ответ об этом, насколько я могу видеть сейчас).

2
ответ дан 6 August 2018 в 04:01

Я думаю, у вас есть команда tput в вашем профиле bash или bashrc и т. д. на машине, на которой у вас есть ssh'd. Проверьте файлы .bashrc .bash_profile в своем доме (на удаленном компьютере) или файлы в файле / etc, как тот, который был указан в вашем вопросе. Трудно сказать, что может вызвать это, поскольку вы можете изменить эти файлы, и это может вызвать проблему?

Также зависит, является ли это проблемой, которую вы хотите устранить, или просто хотите, примечание: тогда может быть нормально перенаправить stderr в / dev / null, например (отредактировано: как другой ответ об этом, насколько я могу видеть сейчас).

2
ответ дан 7 August 2018 в 22:00

Я думаю, у вас есть команда tput в вашем профиле bash или bashrc и т. д. на машине, на которой у вас есть ssh'd. Проверьте файлы .bashrc .bash_profile в своем доме (на удаленном компьютере) или файлы в файле / etc, как тот, который был указан в вашем вопросе. Трудно сказать, что может вызвать это, поскольку вы можете изменить эти файлы, и это может вызвать проблему?

Также зависит, является ли это проблемой, которую вы хотите устранить, или просто хотите, примечание: тогда может быть нормально перенаправить stderr в / dev / null, например (отредактировано: как другой ответ об этом, насколько я могу видеть сейчас).

2
ответ дан 10 August 2018 в 10:14

Я думаю, у вас есть команда tput в вашем профиле bash или bashrc и т. д. на машине, на которой у вас есть ssh'd. Проверьте файлы .bashrc .bash_profile в своем доме (на удаленном компьютере) или файлы в файле / etc, как тот, который был указан в вашем вопросе. Трудно сказать, что может вызвать это, поскольку вы можете изменить эти файлы, и это может вызвать проблему?

Также зависит, является ли это проблемой, которую вы хотите устранить, или просто хотите, примечание: тогда может быть нормально перенаправить stderr в / dev / null, например (отредактировано: как другой ответ об этом, насколько я могу видеть сейчас).

2
ответ дан 13 August 2018 в 16:37

Другие вопросы по тегам:

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