Mon objectif est d'utiliser des options de pipe d'une commande à une fonction qui génère un menu utilisant Shell Select Loop lit depuis Le Bash Aide indique que C'est ce que je voudrais faire, il ne fonctionne pas: p> SELECT CODE>.
stdin code>, qui par Par défaut est lié aux entrées du clavier , lorsque vous êtes dans un tuyau toutefois. ,
stdin code> devient le
stdout code> de la commande précédente (je peux être trop simplifié ici). p>
Sélectionnez CODE> complète lorsque EOF est lu
, qui est regrettable, car si vous lisez toutes les options du tuyau, alors Sélectionnez code> ne pourra pas l'ouvrir et retourner immédiatement. P>
3 Réponses :
La solution que j'ai trouvée est la suivante: J'ai une commande "génération" options, j'utilise EXEC code>
sur" Enregistrer "mon stdin code> de la corruption vile des tuyaux. Lorsque
tuyau_select code> est appelé, je parsais la sortie de la commande précédente, puis je "réinitialiser" le
stdin code> pour
sélectionnez code> à lire. Tout le reste n'est que standard
Sélectionnez le comportement code> après cela. P> p>
Vous devriez accepter sa réponse ou au moins upvote, au lieu de la copier ici.
Merci, j'ai suscité sur l'autre question. (C'est déjà accepté).
Une approche plus générale, qui permet aux espaces de sélectionner des éléments
Merci, je n'avais pas pensé à utiliser Readarray code> /
de cette façon. Dans mon cas réel au monde, je reçois une charge utile JSON via MapFile code>
CURL code> puis utilisez
JQ code> pour l'analyser à l'intérieur de mon
Sélectionnez la fonction code>.
Readarray est plus simple que CAT / EXEC.