[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: bash -cs



> >  Конкретного ничего не скажу.
> Это я уже понял.
> Я когда отправлял вопрос, думал что мне в ответ укажут на башевскую
> опцию, отвечающую за поведение, эквивалентное 'dash -cs', и дадут
> напутствие читать маны внимательней. По видимому, вопрос оказался
> несколько сложнее.
> Если действительно, незамысловатый dash позволяет сделать эту вроде бы
> простую вещь, причем «интуитивно понятным» способом, а bash — не
> позволяет, то я удивлен.
Каким способом?
Вас интересует опция или решение задачи? Кажется, как её решить вам ответили.
Помимо dash существует множество других интерпретаторов.  Если вам нужна привязка к dash, зачем вы спрашивали?

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


Reply to: