Удаленное выполнение файла не работает

Все три довольно отличаются от друг друга, особенно | .

  • | : В первую очередь, это назвало 'канал' и может использоваться для перенаправления вывода одной программы в другой. Ваш пример ничего на самом деле не сделает значимый tho, потому что человек не использует стандартный вход ни для чего. Более значимый пример был бы человек grep | grep-v, который найдет '-v' в выводе от человек grep

  • ; : точка с запятой может использоваться вместо новой строки, чтобы заставить вещи занять меньше места.

  • &&: два оператора амперсанда булевская переменная И оператор, что означает, что команда после && будет выполнен, если, и только если, команда на левой стороне возвращает true, который в системах UNIX означает, что это возвратилось с кодом выхода 0.

0
04.09.2015, 20:02
1 ответ

$cmd не оценивает вашу переменную, а просто расширяет ее и передает в оболочку как строку, поэтому вы получаете ошибки. В вашем случае попробуйте eval "$cmd".

И в любом случае я бы предложил использовать $(ssh the_rest_of_your_command_line) вместо eval "$cmd", так как eval - плохая привычка.

1
28.01.2020, 02:50

Теги

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