сценарии оболочки, которые отвечают на консольный вывод

В awk:

awk '
  $1 == "secondmatch" {print_me = 0}
  print_me {print}
  $1 == "firstmatch {print_me = 1}
'
3
09.02.2011, 03:49
4 ответа

Я вызвал сомнение, когда Вы сказали "svnsync, синхронизация не принимает опций указать вход в систему", таким образом, я проверил документацию, и угадайте то, что, это делает:

--source-password
--source-username
--sync-password
--sync-username

Те опции должны состоять достаточно в том, чтобы Вы вернулись к простому сценарию крона.

Назад в случай, где Вы действительно не можете указать такие опции, все еще легко записать сценарий обертки, который отправляет данные в stdin программы. Например, следующее может работать (где program программа Вы бледный для выполнения, и text файл, где Вы храните текст, который будет отправлен в программу):

program < text

Однако для аутентификации, программы часто пишутся в готовый от tty а не от stdin (из соображений безопасности). Я не знаком с ним, но можно все еще создать поддельный терминал в этом случае. Это то, где expect входит в употребление.

3
27.01.2020, 21:11
  • 1
    я думал те опции, был характерен для опции кроме синхронизации, я предполагаю, что читал неправильно. Спасибо разъясняя мое неправильное представление и отвечая на мой дезинформированный вопрос одновременно. –  Ken 10.02.2011, 02:36

expect мог бы помочь.

Существует учебное руководство O'Reilly.

3
27.01.2020, 21:11
  • 1
    да, который решает мой вопрос точно! –  Ken 10.02.2011, 02:33

Кроме этого означает вставлять пароли, ясные в некотором сценарии.
Не очень хорошая идея.

Разве svnsync не имеет опций для ssh ключей?

1
27.01.2020, 21:11
  • 1
    SSH не будут делать большое хорошее, если это будет аутентификация HTTP. –  jsbillings 09.02.2011, 17:04

Два аналогичных решения:

  • expect (как дано другими ответами), который требует TCL.
  • pexpect, записанный в чистом Python.
1
27.01.2020, 21:11

Теги

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