Deutsch English Français Italiano |
<20220901231814.7764804b@coffee.novazur.fr> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder8.news.weretis.net!usenet.goja.nl.eu.org!aioe.org!3my8gGK7ESrpx0+4iQgUXA.user.46.165.242.75.POSTED!not-for-mail From: Christophe PEREZ <chris@novazur.fr> Newsgroups: fr.comp.os.linux.configuration Subject: Re: script bash substitution email subject Date: Thu, 1 Sep 2022 23:18:14 -0400 Organization: Aioe.org NNTP Server Message-ID: <20220901231814.7764804b@coffee.novazur.fr> References: <20220831162843.43e97042@coffee.novazur.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Injection-Info: gioia.aioe.org; logging-data="34196"; posting-host="3my8gGK7ESrpx0+4iQgUXA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org"; X-Notice: Filtered by postfilter v. 0.9.2 X-Newsreader: Claws Mail 4.1.0 (GTK 3.24.34; x86_64-pc-linux-gnu) Bytes: 2289 Lines: 43 Le Wed, 31 Aug 2022 16:29:24 -0400, Christophe PEREZ <chris@novazur.fr> a =C3=A9crit : > J'imagine que c'est un cas d'=C3=A9cole, que peut-=C3=AAtre certains ici = ont > d=C3=A9j=C3=A0 r=C3=A9solu pour leurs besoins. Et bien je m'attendais =C3=A0 un peu plus d=E2=80=99enthousiasme ;) Au final, je n'ai rien trouv=C3=A9 de mieux que de passer par un outils annexe (ifne du package moreutils) (*) et mon script bash devient : #!/bin/bash [ -n "$1" ] && SUBJECT=3D"$1" || SUBJECT=3D"No subject" INPUT=3D$(ifne cat -) [ -n "$INPUT" ] && echo "$INPUT" | mail -s "$SUBJECT" $USER Si quelqu'un a un commentaire =C3=A0 faire, je reste toujours preneur et curieux. (*) plus exactement, j'ai r=C3=A9cup=C3=A9r=C3=A9 un source de quelques lig= nes, =C3=A0 compiler, qui fait le job comme ifne, et que j'ai packag=C3=A9 pour gentoo, et qui s'utilise comme ifne : https://unix.stackexchange.com/a/498065/374007 Source fionread.c : #include <unistd.h> #include <poll.h> #include <sys/ioctl.h> #ifdef __sun #include <sys/filio.h> #endif #include <err.h> int main(int ac, char **av){ int r; struct pollfd pd =3D { 0, POLLIN }; if(poll(&pd, 1, -1) < 0) err(1, "poll"); if(ioctl(0, FIONREAD, &r)) err(1, "ioctl(FIONREAD)"); if(r < 1) return 1; if(++av, --ac < 1) return 0; execvp(*av, av); err(1, "execvp %s", *av); }