> Конкретного ничего не скажу. Это я уже понял.
Я когда отправлял вопрос, думал что мне в ответ укажут на башевскую опцию, отвечающую за поведение, эквивалентное 'dash -cs', и дадут напутствие читать маны внимательней. По видимому, вопрос оказался несколько сложнее. Если действительно, незамысловатый dash позволяет сделать эту вроде бы простую вещь, причем «интуитивно понятным» способом, а bash — не позволяет, то я удивлен. 17 октября 2010 г. 17:57 пользователь Н. Артём <[email protected]> написал: >> $ 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] > >

