> $ bash -c 'date; source /dev/stdin' — выполняется команда date, а > дальше source пытается выполнить STDIN в > скриптовом режиме, а не в диалоговом. > Чем здесь могут быть полезны xargs и read, я придумать не смог. > Расскажите поподробнее, пожалуйста. Добавить в конец сценария после -c - xargs (хотя, с xargs я, пожалуй, перестарался, не в тему оно тут). Или '; cmd=read'. После чего выполнить cmd. Если же надо сделать интерактивный интерпретатор, используйте $SHELL или люой интерпретатор, по выбору, в конце скрипта после -c. Когда выполнится то, что после -с, будет запущен второй интерпретатор. С наследованием переменных разбирайтесь сами. Или read и выполнение в цикле, с выходом, например, по пустой строке. Конкретного ничего не скажу, поскольку у меня нет сейчас линупса - железо сдохло, похоже намертво. :-( И мне не проверить. А маны читать за вас я не буду.
> 16 октября 2010 г. 15:44 пользователь Н. Артём <[email protected]> написал: > > > Подскажите, пожалуйста, как можно заставить 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 [email protected] > > with a subject of "unsubscribe". Trouble? Contact > > [email protected] > > Archive: http://lists.debian.org/[email protected] > 16 октября 2010 г. 18:34 пользователь Eugene Berdnikov <[email protected]> > написал: > > 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 [email protected] > > with a subject of "unsubscribe". Trouble? Contact > > [email protected] > > Archive: http://lists.debian.org/[email protected] > -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

