(1 réponse)
Fermé il y a 4 ans.
J'ai vu cela à la fin d'un script shell génial, mais je ne comprends pas la connexion ici car je pense qu'il est en sous-effectif pour une commande plus longue.
spark ${@:-`cat`}
Cela apparaît à la fin de ce script. Des idées ?
+ Des notes pour quelqu'un qui l'étend dans un segment complet de code, même si c'est plus lent (mieux pour l'explication)
Réponse acceptée :
C'est le premier cas particulier de substitution de paramètres dans man bash
:
${parameter:-word}
Utilisez les valeurs par défaut. Siparameter
n'est pas défini ou nul, le développement deword
est substitué. Sinon, la valeur deparameter
est remplacé.
Dans le cas que vous avez mentionné, soit l'utilisateur a fourni des arguments sur la ligne de commande et ils seront utilisés, soit l'utilisateur est invité à les saisir sur l'entrée standard par la suite.