> $ bash -c 'date; source /dev/stdin' — выполняется команда date, а
> дальше source пытается выполнить STDIN в
> скриптовом режиме, а не в диалоговом.
> Чем здесь могут быть полезны xargs и read, я придумать не смог.
> Расскажите поподробнее, пожалуйста.
Добавить в конец сценария после -c - xargs (хотя, с xargs я, пожалуй, 
перестарался, не в тему оно тут).
Или '; cmd=read'. После чего выполнить cmd.
Если же надо сделать интерактивный интерпретатор, используйте $SHELL или люой 
интерпретатор, по выбору, в конце скрипта после -c.
Когда выполнится то, что после -с, будет запущен второй интерпретатор. С 
наследованием переменных разбирайтесь сами.
Или read и выполнение в цикле, с выходом, например, по пустой строке.
Конкретного ничего не скажу, поскольку у меня нет сейчас линупса - железо 
сдохло, похоже намертво. :-( И мне не проверить. А маны читать за вас я не буду.

> 16 октября 2010 г. 15:44 пользователь Н. Артём <artio...@yandex.ru> написал:
> > >  Подскажите, пожалуйста, как можно заставить bash считать первую
> > >  команду из параметров ключа запуска -c а последующие из stdin? Иначе:
> > >  как заставить bash -с [command] не завершаться после выполнения, а
> > >  ждать ввода?
> > >  Для sh -> /bin/dash это достигается комбинированием ключей -c и -s.
> > >  Для наглядности в отдельном эмуляторе терминала:
> > >  $ xterm -e sh -cs "ls"
> > >  У bash ключ -s тоже есть, но в сочетании с -c он не работает.
> >  А использовать xargs и read где-то после -c - не катит?
> > 
> > 
> >  --
> >  To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
> >  with a subject of "unsubscribe". Trouble? Contact 
> > listmas...@lists.debian.org
> >  Archive: http://lists.debian.org/618771287229...@web106.yandex.ru
> 16 октября 2010 г. 18:34 пользователь Eugene Berdnikov <b...@protva.ru> 
> написал:
> >  On Fri, Oct 15, 2010 at 01:46:20PM +0400, ??micier wrote:
> > >  Подскажите, пожалуйста, как можно заставить bash считать первую
> > >  команду из параметров ключа запуска -c а последующие из stdin? Иначе:
> > >  как заставить bash -с [command] не завершаться после выполнения, а
> > >  ждать ввода?
> >  % echo "echo aaa\necho bbb" | bash -c 'date ; source /dev/stdin'
> >  Сбт Окт 16 18:30:05 MSD 2010
> >  aaa
> >  bbb
> > 
> >   В принципе это башизм, хотя в zsh он тоже работает... Если нет
> >   требования исполнять подаваемые на stdin команды в том же шелле,
> >   то -c 'command ; $SHELL' достаточно портабильно.
> >  --
> >   Eugene Berdnikov
> > 
> > 
> >  --
> >  To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
> >  with a subject of "unsubscribe". Trouble? Contact 
> > listmas...@lists.debian.org
> >  Archive: http://lists.debian.org/20101016143434.ga10...@protva.ru
> 


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/225441287323...@web147.yandex.ru

Ответить