Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Системное программирование > Передача параметра в STDOUT sh


Автор: Maledictus 22.5.2009, 20:44
Вопрос в следующем.
Мой скрипт запускает sh.
Потом программа начинает ожидать ввода.
Как передать ей эти параметры что бы она не ожидала???? 

Автор: shamber 22.5.2009, 21:09
Maledictus, каким образом вы запускаете скрипт?

Автор: Maledictus 22.5.2009, 21:52
Все дело происходит в sh.
Я сделал скрипт исполняемым и запускаю через ./script.pl

В нем есть необходимость запустить sh еще раз:
Код
qx/sh/


и передать туда следующие команды:

#cd path_to_dir
#. ./vars
#./clean-all
#exit

Вот как эти команды передать туда?

Автор: amg 23.5.2009, 05:27
Одно решение - переделайте sh-скрипт, предусмотрев в нем опции командной строки, чтобы, если эти опции даны, то скрипт перестает быть интерактивным.

Другое - посмотрите на модуль Expect.

Автор: Maledictus 2.6.2009, 22:28
можно более подробно разжевать что к чему? С Expect что-то не смог разобраться, а про скрипт ничего не понял...Заранее благодарю

Автор: shamber 3.6.2009, 09:02
Maledictus, вы не понимаете как написать sh сценарий, чтобы он принимал параметры командной строки?

Автор: Egik2 15.6.2009, 16:09
по поводу переделки скрипта я думаю имелось в виду, чтобы в скрипт передавать параметры. 
Например скрипт:

#!/bin/bash

echo $1
echo $2


можно вызвать так:
./script.sh first second

и он выдаст:
first
second

То есть в переменных $1, $2, он содержит параметры командной строки, переданной ему.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)