Как получить стандартный вывод сценария, который зависит от пользователя для некоторого входа?

Если Вы хотите машину для локальной разработки (настольная машина), и Вы хотите изучить много - затем идут с Arch. Это будет вид силы Вы для приобретения знаний о некоторых вещах под капотом о GNU/Linux, потому что необходимо собрать все из командной строки, так быть подготовлены, довольно большое чтение будет требоваться, хотя это не на самом деле, что трудно, поскольку люди думают. Первая установка берет немного дольше, если Вы не опытный GNU/пользователь Linux, но поддержание ее является бризом. У Arch также есть чрезвычайно хорошая Wiki с тоннами полезной информации, она имеет партии, и много пакетов + АУР (Пользовательский репозиторий Arch (который имеет все, что чиновник Arch repos не имеет)). У Arch также есть все новейшие пакеты, так как это является "новейшим". Я не рекомендовал бы это для "производственного" сервера хотя по тем же самым причинам. Серверы должны быть стабильными, не новейшими.

Так, если бы Вы хотите дистрибутив сервера - я пошел бы с Debian. Очень стабильный (но более старые пакеты), немного легче использовать, чем Arch, по-моему, не такая хорошая Wiki.. Также заставляет Вас изучить довольно много.

Хинду был бы немного также экстремальным значением (слишком много стычки и слишком много времени, потраченного впустую на компиляцию материала), но возможно дает Вам большую часть знания, потому что необходимо вырыть очень глубоко, чтобы заставить его работать. Хорошо использоваться некоторое время для изучения материала, но дело не в этом приятный для регулярного повседневного использования.

Хотя, поскольку другие указали, действительно нет никакого неправильного выбора. Можно изучить большое использование любого другого дистрибутива. Различие, Gentoo/Arch/Debian "вынудит Вас" сделать так с начала. В конце все это сводится к в основном более или менее тому же (или очень похожий) вещь..

1
09.03.2019, 15:42
3 ответа

Я думаю, что Вы хотите expect. Этот инструмент может в интерактивном режиме работать с командами тот ввод данных пользователем потребности. Конечно, так как главная ловушка - это, необходимо знать, что ожидать.

Пример (заимствованный из http://www.thegeekstuff.com/2010/10/expect-examples/)

#!/usr/bin/expect

set timeout 20

spawn "./hello.pl"

expect "hello"
send "no match : <$expect_out(buffer)> \n"
send "match :  <$expect_out(0,string)>\n"

interact
3
27.01.2020, 23:21

Что относительно

echo "password" | ./script.sh parameter_list ... > output.file

Если это doesn' работа, то ответьте на этот вопрос: какой механизм делает использование сценария для получения пароля от пользователя. Если это будет что-то как ssh пароль, то отправление его через stdin не будет работать.

1
27.01.2020, 23:21
  • 1
    Спасибо Glenn. Это не работало.. Я соединяюсь с полем Solaris по SSH и затем ввожу пароль вручную после запущения скрипта. Таким образом, я предполагаю, что в этом случае нет никакого обходного решения.. –  Kent Pawar 01.07.2013, 17:58
  • 2
    Лучший способ состоит в том, чтобы использовать ssh ключи, затем Вы не должны вручную вводить пароль –  glenn jackman 01.07.2013, 18:09
  • 3
    я думаю, что это несколько отличается, как, после того, как я соединяюсь с полем по SSH (ШПАКЛЕВКА), я затем вручную, вводит пароль DB после запущения скрипта. Я думаю, что мое решение находится в Солярисе, эквивалентном из Ubuntu ttysnoop команда. –  Kent Pawar 01.07.2013, 18:32
  • 4
    Возможно, Вы хотите expect: программно введите ssh пароль, затем переключаются на интерактивный режим, чтобы позволить Вам ввести пароль дб. –  glenn jackman 02.07.2013, 04:17

Если это - Ваш собственный сценарий, можете быть Вы, может отправить интерактивный вывод в stderr.

0
27.01.2020, 23:21
  • 1
    Спасибо. К сожалению, нет.. Это - сценарий, предоставленный как часть установки EPM Oracle. –  Kent Pawar 01.07.2013, 18:00

Теги

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