Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Est-ce un UUOC ?

17 réponses
Avatar
Olivier Miakinen
Bonjour,

Supposons que je veuille envoyer le signal 1 au processus
dont le pid se trouve dans le fichier foobar.

La première idée qui me vient à l'esprit est :
kill -1 $(cat foobar)

Ma question : s'agit-il d'un UUOC (useless use of cat) ?
En d'autres termes, existe-t-il un moyen plus simple de
passer le contenu d'un (unique) fichier comme paramètres
d'une commande, sans utiliser cat ?

--
Olivier Miakinen

7 réponses

1 2
Avatar
Olivier Miakinen
Le 22/06/2017 21:21, Nicolas George m'a répondu :
Supposons que je veuille envoyer le signal 1 au processus
dont le pid se trouve dans le fichier foobar.
La première idée qui me vient à l'esprit est :
kill -1 $(cat foobar)
Ma question : s'agit-il d'un UUOC (useless use of cat) ?
En d'autres termes, existe-t-il un moyen plus simple de
passer le contenu d'un (unique) fichier comme paramètres
d'une commande, sans utiliser cat ?

S'il n'y a qu'une ligne, tu peux la lire avec read :
read -r line < file
S'il y a plusieurs lignes, tu peux faire une boucle :
lf="
"
lines=""
while read -r line; do
lines="$lines$line$lf"
done < file

Certes, mais tu ne réponds pas à la question posée, mais à une
question que je n'ai pas posée. ;-)
Alors bien sûr on peut toujours compléter ta réponse par un
« kill -1 $lines », mais là il s'agit d'un UUOS (useless use
of script) !
--
Olivier Miakinen
Avatar
Olivier Miakinen
Le 22/06/2017 22:37, Erwan David a écrit :
kill -1 $(< foobar)
Il me semble que c'est une syntaxe POSIX.

Je ne connaissais pas. Ça fonctionne dans bash mais pas avec sh.
--
Olivier Miakinen
Avatar
Olivier Miakinen
Le 23/06/2017 01:59, Pascal J. Bourguignon a écrit :
La première idée qui me vient à l'esprit est :
kill -1 $(cat foobar)
Ma question : s'agit-il d'un UUOC (useless use of cat) ?

Je dirais que non.

Ok.
[...]
Pour d'autres commands que kill, ça va dépendre de la commande:

En effet, et comme tu le rappelais à la fin de ta réponse l'UUOC typique
concerne une commande qui accepte ses paramètres de stdin. Ce n'est pas
le cas de kill, d'où ma question.
certaines commandes sont capables de prendre leur données à partir d'un
fichier passé en argument. Par exemple, un mot de passe à passer à gpg
peut se faire avec l'une de ces trois options:
--passphrase-fd n
--passphrase-file file
--passphrase string
Alors on a le choix entre:
gpg --passphrase-file foobar …
gpg --passphrase-fd 4 4<foobar …
gpg --passphrase "$(cat foobar)" …
La première option est la meilleure, bien sur (portable, sure); la
seconde va dépendre du shell (possible en bash, ou quand on appelle gpg
à partir de son propre programme); la dernière est bien sûr la pire,
dans le cas d'un mot de passe, et du fait de l'existence des autres
options, peut être considérée un UUOC.

Oui, et merci du rappel de la syntaxe « 4<foobar » dont j'ai déjà eu
besoin un jour même si c'était un cas assez particulier.
--
Olivier Miakinen
Avatar
Olivier Miakinen
Le 22/06/2017 21:12, j'écrivais :
kill -1 $(cat foobar)
Ma question : s'agit-il d'un UUOC (useless use of cat) ?

Merci à tous pour vos réponses, je vais donc conserver cette syntaxe.
Par ailleurs, je suis heureux de constater que le groupe de discussion
fr.comp.os.linux, même s'il peut n'avoir aucune activité que du spam
pendant de longs mois d'affilée, est toujours suivi par les gourous
qui interviennent aussitôt lorsqu'une vraie question est posée. :-)
--
Olivier Miakinen
Avatar
Lucas Levrel
Le 23 juin 2017, à 23:16, Olivier Miakinen a écrit :
Par ailleurs, je suis heureux de constater que le groupe de discussion
fr.comp.os.linux, même s'il peut n'avoir aucune activité que du spam
pendant de longs mois d'affilée, est toujours suivi par les gourous
qui interviennent aussitôt lorsqu'une vraie question est posée. :-)

Oui, tu vas pouvoir poser ta question sur la souris à travers ssh entre
Cygwin, AIX et Linux !
--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
Avatar
Olivier Miakinen
Le 25/06/2017 22:37, Lucas Levrel a écrit :
Par ailleurs, je suis heureux de constater que le groupe de discussion
fr.comp.os.linux, même s'il peut n'avoir aucune activité que du spam
pendant de longs mois d'affilée, est toujours suivi par les gourous
qui interviennent aussitôt lorsqu'une vraie question est posée. :-)

Oui, tu vas pouvoir poser ta question sur la souris à travers ssh entre
Cygwin, AIX et Linux !

:-)
--
Olivier Miakinen
Avatar
liuxuande
Le jeudi 22 Juin 2017 à 21:12 par Olivier Miakinen :
Bonjour,
Supposons que je veuille envoyer le signal 1 au processus
dont le pid se trouve dans le fichier foobar.
La première idée qui me vient à l'esprit est :
kill -1 $(cat foobar)
Ma question : s'agit-il d'un UUOC (useless use of cat) ?
En d'autres termes, existe-t-il un moyen plus simple de
passer le contenu d'un (unique) fichier comme paramètres
d'une commande, sans utiliser cat ?
--
Olivier Miakinen
SECTIONS:
BUY FAKE degree OF
Buy false degree USA (United States)
Buy fake Australian degree (Australia)
Buy fake degree Belgian (Belgium)
Buy fake Brazilian degree (Brazil)
Buy fake Canadian degree (Canada)
Buy fake degree Finland (Finland)
Buy fake French degree (France)
Buy fake German degree (Germany)
Buy fake degree Dutch (Netherlands)
Buy fake Israeli degree (Israel)
Buy fake UK degree (UK)
Buy fake Spanish degree (Spain)
Buy fake Mexican degree (Mexico)
Buy fake South African degree (South Africa)
Buy fake Swiss degree (Switzerland)
Buy fake German degree (Germany)
Buy fake degree Chinese (China)
Buy fake Spanish degree(Spain)
Buy fake Austrian degree (Austria)
Buy fake Japanese degree (Japan)
Buy fake Ukrainian degree (Ukraine)
Buy fake degree cambodiens (Cambodia)
Buy fake UK degree (United Kingdom)
Buy false degree USA
Buy fake Romanian degree (Romania)
Buy fake degree Polish (Poland)
Buy fake Bulgarian degree (Bulgaria)
Buy fake Moroccan degree (Morocco)
Buy fake degree chypre (Cyprus)
Buy fake Norwegian degree (Norway)
Buy fake degree Portuguese (Portugal)
Buy fake Lithuanian degree (Lithuania)
Buy fake Russian degree (Russia)
Buy fake degree Hungarian (Hungary)
Buy fake Australian degree (Australia)
Buy fake Brazilian degree (Brazil)
Buy fake Italian degree (Italy)
Buy fake Jamaican degree (Jamaica)
Buy fake South Korean degree (South Kore)
Buy fake degree Croatian (Croatia)
Buy fake degree Denmark (Danmark)
Buy fake degree Malta (Malta)
Buy fake degreePolish (Poland)
Buy fake Swedish degree (Sweden)
Contact email:
General Support SKYPE NAME: bestdiploma,
1 2