Posté par Marotte ⛧ .
En réponse au journal Args parser pour shell.
Évalué à 3.
Dernière modification le 17 février 2024 à 00:28.
Pour ma part, en tout cas dans le cas où un test est nécessaire. Généralement c’est pour conditionner l’exécution d’une autre commande ou d’une fonction. Alors à moins d’être dans le cas d’une « conditionnalité complexe » (ie: un if ... elif ... else ... fi), je fais :
grep -q truc fichier || action
Le || pour coller à ton exemple avec -ne 0, mais si c’est au contraire -eq 0 (ie: on fait l’action si la condition est "success"), alors la même chose avec &&.
Je fais parfois même des condition || { action1; && action2; } (ou l’inverse...) mais j’avoue que là ça devient assez illisible et il vaut mieux recourir à un if même si on peut faire sans.
Flemme de vérifier (et pas sûr que ça change quoi que ce soit à l’exécution...) mais si c’est la condition "ya des lignes ou pas ?" qui t’intéresse, le -c de grep n’est même pas nécessaire :) Et l’intérêt à ne pas le mettre dans ce cas ce serait qu’à la simple lecture du début de la ligne, juste les options du grep, tu sais qu’on ne s’intéresse pas aux nombres de lignes qui matchent mais juste s’il y en a ou pas.
[^] # Re: getopt(1)
Posté par Marotte ⛧ . En réponse au journal Args parser pour shell. Évalué à 3. Dernière modification le 17 février 2024 à 00:28.
Pour ma part, en tout cas dans le cas où un test est nécessaire. Généralement c’est pour conditionner l’exécution d’une autre commande ou d’une fonction. Alors à moins d’être dans le cas d’une « conditionnalité complexe » (ie: un
if ... elif ... else ... fi), je fais :Le
||pour coller à ton exemple avec-ne 0, mais si c’est au contraire-eq 0(ie: on fait l’action si la condition est "success"), alors la même chose avec&&.Je fais parfois même des
condition || { action1; && action2; }(ou l’inverse...) mais j’avoue que là ça devient assez illisible et il vaut mieux recourir à unifmême si on peut faire sans.Flemme de vérifier (et pas sûr que ça change quoi que ce soit à l’exécution...) mais si c’est la condition "ya des lignes ou pas ?" qui t’intéresse, le
-cdegrepn’est même pas nécessaire :) Et l’intérêt à ne pas le mettre dans ce cas ce serait qu’à la simple lecture du début de la ligne, juste les options du grep, tu sais qu’on ne s’intéresse pas aux nombres de lignes qui matchent mais juste s’il y en a ou pas.