From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <437B298B.70806@uaservice.com.ua> Date: Wed, 16 Nov 2005 14:43:55 +0200 From: Valentin Lavrinenko User-Agent: Mozilla/5.0 (X11; U; Linux i686; uk-UA; rv:1.7.2) Gecko/20040808 X-Accept-Language: uk, en MIME-Version: 1.0 To: community@lists.altlinux.org X-Enigmail-Version: 0.85.0.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=KOI8-U; format=flowed Content-Transfer-Encoding: 8bit X-Authenticated-Sender: lvu@uaservice.com.ua X-Spam-Processed: mail.uaservice.com.ua, Wed, 16 Nov 2005 14:53:53 +0200 (not processed: message from valid local sender) X-MDRemoteIP: 195.230.133.210 X-Return-Path: lvu@uaservice.com.ua X-MDaemon-Deliver-To: community@lists.altlinux.org Subject: [Comm] =?koi8-u?b?69TPINDPzNXewcXUIFNJR0lOVCDXINDBytDFPw==?= X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ALT Linux Community List-Id: ALT Linux Community List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Nov 2005 12:46:26 -0000 Archived-At: List-Archive: List-Post: Hi, All! Задача следующая: мне надо запустить некоторую команду в bash скрипте таким образом, чтобы: 1) Вывод команды одновременно шел на консоль и в файл 2) Была возможность определить код возврата команды 3) Команда нормально прерывалась по Ctrl-C 1) рещается с помощью tee, это понятно - пишем command | tee file. Насчет 2) долго рылся, в конце концов нашел полезную bash'евскую фичу PIPESTATUS. Проблема сейчас с 3) - насколько я понял, SIGINT от Ctrl-C получает последняя команда пайпа, т.е. tee. В результате "основная" команда, судя по всему, получает SIGPIPE вместо SIGINT, и выполняет совсем не те действия, которые нужно (опять же, возвращает не тот код ошибки). Вопрос: можно ли как-то заставить bash (или кто там за это отвечает?) отдавать SIGINT первой (в общем случае - произвольной) команде в пайплайне? Я, в общем-то, могу написать свою обертку на C, которая будет выполнять все пункты 1) - 3), но если есть возможность сделать это стандартными средствами - изобретать велосипед неохота.