SSH, не перенаправляющий stdout к локальному терминалу

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

Я незнаком с dirvish, но если Вы смотрите только, чтобы скопировать и сжать файлы с определяемым пользователем пределом размера файла, это могло бы быть достойно рассмотрения.

0
задан 6 January 2010 в 20:17
2 ответа

Тот сценарий заставляет мой глаз выйти за край. Избавьтесь от всех переменных, хранящих фрагменты команды (и ненужное входное перенаправление на grep), и посмотрите, где это получает Вас. Заключение в кавычки почти наверняка завинчено способами, которыми Вы даже не хотите воображать. В оболочке Bourne я записал бы что-то вроде этого:

today="$(date +"%m\/%d\/%y")"
filetoday="$(date +%b%d%Y)"

grep "^$today" logfile > serverlog_${filetoday}.txt
ssh SERVER1 grep "^$today" /home/user/log/logfile >> serverlog_${filetoday}.txt
5
ответ дан 4 December 2019 в 11:39
  • 1
    Я верю Вам о заключении в кавычки, мне потребовались четыре дня, чтобы заставить это работать правильно. I' ll дают этому выстрел. –  Lance Roberts 6 January 2010 в 18:44
  • 2
    Это работало отлично. Я can' t верят всей дрянной документации, там настаивая, чтобы я должен был заключить в кавычки команду, данную SSH, чтобы работать удаленно, и закрыть кавычки локальный файл.Спасибо. –  Lance Roberts 6 January 2010 в 20:14

Если это вообще возможно:

  1. не используйте csh
  2. сделайте то, что предлагает womble
  3. не используйте переменную для перенаправления, так как оно не будет работать

Если необходимо смочь изменить перенаправление, по крайней мере, в Bash и sh, можно сделать:

file="/some/file"
if [ somecondition ]
then
    exec 3>&1            # send output of file descriptor 3 to stdout
elif [ condition2 ]
    exec 3>>"$file"      # append it to the file
else
    exec 3>"$file"       # overwrite the file        
fi
echo "text" >&3          # output to chosen location
0
ответ дан 4 December 2019 в 11:39

Теги

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