LINUX.ORG.RU

вывод результата в командную строку


0

0

надо чтоб после того как скрипт отработал, он вывел результат в командную строку. те типа

$./scripts.sh
working
$perl blablabla.pl | sort

perl blablabla.pl | sort - это результат работы скрипта, чтоб запустить это - достаточно нажать Enter. надо именно так, запускать сразу сформированную командную строку нельзя. можно такое сделать или нет? если да, то как?


Re: вывод результата в командную строку

stdout?

adminchik ()
Ответ на: Re: вывод результата в командную строку от LokiAs2

Re: вывод результата в командную строку

нет, мне результат надо не в файл (>result.txt), и не на экран (stdout), а в командную строку, я запустил скрипт, а по окончанию его работы в командной строке появляется определенный текст. не напечатанный, а именно в командной строке.

CFA ()

Re: вывод результата в командную строку

Влинуксе есть консоль, командная строка в оффтопиге!

anonymous ()

Re: вывод результата в командную строку

Наверное, нет, т.к. скрипт отрабатывает в child-шелле

anonymous ()

Re: вывод результата в командную строку

Не совсем уверен что правильно понял, что ты хочеш, но например echo "ls -l" | xargs -0 bash -c выполнит просто ls -l, тоесть xarg -0 bash -c будет выполнять то что ей передадут на стандартный ввод (например результат выполнения команды).

slackophile ()
Ответ на: Re: вывод результата в командную строку от slackophile

Re: вывод результата в командную строку

>Ты хочешь странного.

ага, знаю

>а что мешает сделать `./script.sh` | sort ?

нельзя так, нельзя

ничего не надо выполнять сразу, и выбор ответа y/n тоже не подходит. надо чтоб результат работы скрипта попал командную строку, как будто был набран с клавиатуры, но enter не нажат

CFA ()

Re: вывод результата в командную строку

Можешь глянуть сюда: http://www.cs.duke.edu/~des/vip.html

Не в командную строку, но подредактировать или отменить команду до выполнения можно.

Универсального метода изменять командную строку, появляющуюся _после_ работы твоей программы, во-первых, нет, а во-вторых это очень сильно неправильно, и когда я такую программу увижу, я при первой возможности оторву разработчику яйца, чтоб не размножался.

watashiwa_daredeska ★★★★ ()

Re: вывод результата в командную строку

Ещё у некоторых шелов есть программируемый "completion" - тоже можно получить нечто похожее.

Очевидный способ - написать прокладку между терминалом и шелом, заворачивающую некоторые выводимые шелом строки обратно ему на вход.

DonkeyHot ★★★★★ ()
Ответ на: Re: вывод результата в командную строку от DonkeyHot

Re: вывод результата в командную строку

> написать прокладку между терминалом и шелом, заворачивающую некоторые выводимые шелом строки обратно ему на вход.

Яйца отрывать. А если программа была запущена в bg и в момент ее завершения в fg совсем другая программа нежели shell? Догадайся, куда попадет тот хлам?

watashiwa_daredeska ★★★★ ()

Re: вывод результата в командную строку

Ужас. Человек сам понимает, что есть нормальные пути решения проблемы, но упорно хочет сделать через задницу. Бывает же.

Чем тебе y/n-то не подходит? Вообще, почему все эти "нельзя"? Объясни реальную ситуацию, из-за которой тебе якобы надо сделать именно так.

Teak ★★★★★ ()

Re: вывод результата в командную строку

Автор судя по всему делает какую то подлянку, так как в реальной жизни не могу представить себе таких ситуаций... Пусть объяснит что ему надо, придумаем другие варианты. Но ИМХО серп лучше.

Orlangoor ★★★★★ ()
Ответ на: Re: вывод результата в командную строку от Orlangoor

Re: вывод результата в командную строку

никаких подлянок. есть шелл с кучей ограничений. в том числе и на количество процессов от юзера. на нем надо запускать 2 программы работющие через пайап - prog1 | prog2 если их запускать из скрипта, то будет превышен лимит процессов. руками запускать гиморно, так много меняющихся параметров.

CFA ()

Re: вывод результата в командную строку

Можно попробовать запускать exec script, а в конце скрипта написать exec $SHELL

Правда о возможности нажать Ctrl+C или Ctrl+Z придётся повидимому забыть (хотя есть какая-то команда trap....)

GPFault ★★ ()

Re: вывод результата в командную строку

>есть шелл с кучей ограничений. в том числе и на количество процессов от юзера. на нем надо запускать 2 программы работющие через пайап - prog1 | prog2 если их запускать из скрипта, то будет превышен лимит процессов.

Непонятно, почему запуск из скрипта превышает лимит процессов, а из шелла - нет.

Там ограничение в 3 процесса, чтоль? Тогда можно сделать "source script.sh", чтобы не порождать лишний шелл.

anonymous ()

Re: вывод результата в командную строку

Всегда говори, в чём настоящая проблема, блин. А не "как мне решить мою проблему именно вот этим болезненным способом".

Teak ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.