Используйте -f
переключатель для ssh
, который отправит команду в фоновый режим после аутентификации и других потенциально интерактивных шагов.
Ваша интерактивная оболочка bash
или что-то совершенно другое? echo
общеизвестно непереносимо в отношении того, как он обрабатывает специальные символы, такие как \t
. В bash обычное echo
не расширяет их, но, например. зш
, кажется.
$ zsh -c 'echo "foo\tbar"'
foo bar
$ bash -c 'echo "foo\tbar"'
foo\tbar
Bash echo -e
и zsh echo -E
инвертируют вышеописанное поведение.
Кроме того, вы, вероятно, захотите поместить эти переменные в кавычки:
#/bin/bash
echo -e "$name\t$pftot\t$etc..."
Конечно, переносимым решением будет printf
:
printf "%s\t%s\t%s..." "$name" "$pftot" "$..."
Но нетрудно понять, почему вместо этого можно было бы использовать echo
.
См. справочную страницу bash(1)
в разделе «Встроенные команды». Параметр -e
необходим, чтобы echo
интерпретировал escape-символы.