0
votes

Comment pouvez-vous tuyer des options dans une boucle de sélection de shell?

Mon objectif est d'utiliser des options de pipe d'une commande à une fonction qui génère un menu utilisant SELECT .

Shell Select Loop lit depuis stdin , qui par Par défaut est lié aux entrées du clavier , lorsque vous êtes dans un tuyau toutefois. , stdin devient le stdout de la commande précédente (je peux être trop simplifié ici).

Le Bash Aide indique que Sélectionnez complète lorsque EOF est lu , qui est regrettable, car si vous lisez toutes les options du tuyau, alors Sélectionnez ne pourra pas l'ouvrir et retourner immédiatement.

C'est ce que je voudrais faire, il ne fonctionne pas: xxx


0 commentaires

3 Réponses :


0
votes

La solution que j'ai trouvée est la suivante: xxx

J'ai une commande "génération" options, j'utilise EXEC sur" Enregistrer "mon stdin de la corruption vile des tuyaux. Lorsque tuyau_select est appelé, je parsais la sortie de la commande précédente, puis je "réinitialiser" le stdin pour sélectionnez à lire. Tout le reste n'est que standard Sélectionnez le comportement après cela.


0 commentaires

0
votes

2 commentaires

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é).



1
votes

Une approche plus générale, qui permet aux espaces de sélectionner des éléments xxx


2 commentaires

Merci, je n'avais pas pensé à utiliser Readarray / MapFile de cette façon. Dans mon cas réel au monde, je reçois une charge utile JSON via CURL puis utilisez JQ pour l'analyser à l'intérieur de mon Sélectionnez la fonction .


Readarray est plus simple que CAT / EXEC.