Cmd SELECT,problème espaces dans fichier conf
Résolu
sebmartin
-
sebmartin -
sebmartin -
Bonjour,
Voilà mon problème. J'utilise la commande SELECT pour obtenir un menu interactif avec une liste de choix préconfiguré dans un fichier de conf. Le souci est que dans ce fichier de conf, il y a des espaces, et je n'arrive pas à retrouver l'intégralité de ma ligne dans le menu. Voici en clair ce que ça donne :
- Mon fichier de conf :
- Résultat :
Évidemment ce n'est pas du tout ce que je souhaites, ce que j'aimerais c'est ceci :
Voilà, j'espère que j'ai été clair dans mes explications et que vous saurez m'aider.
Par avance merci.
Voilà mon problème. J'utilise la commande SELECT pour obtenir un menu interactif avec une liste de choix préconfiguré dans un fichier de conf. Le souci est que dans ce fichier de conf, il y a des espaces, et je n'arrive pas à retrouver l'intégralité de ma ligne dans le menu. Voici en clair ce que ça donne :
- Mon fichier de conf :
$ cat ../CONF/base.conf Base 1 Base 2 Base 3
- Résultat :
select BASE in 'cat ../CONF/base.conf ' 'quit'; do echo $BASE; done 1) Base 2) 1 3) Base 4) 2 5) Base 6) 3 7) quit #?
Évidemment ce n'est pas du tout ce que je souhaites, ce que j'aimerais c'est ceci :
select BASE in 'cat ../CONF/base.conf ' 'quit'; do echo $BASE; done 1) Base 1 2) Base 2 3) Base 3 4) quit #?
Voilà, j'espère que j'ai été clair dans mes explications et que vous saurez m'aider.
Par avance merci.
3 réponses
-
Salut,
Il te faut changer le séparateur de champs en entrée (IFS) :
$ OIFS=$IFS;IFS=$'\n';select BASE in $(cat base.conf) 'quit';do echo $BASE; done;IFS=$OIFS 1) Base 1 2) Base 2 3) Base 3 4) quit #? 2 Base 2 #?
-
-
Zut apparemment cela ne fonctionne pas en ksh. Il me remplace les caractères "n" par un retour chariot.
Il n'y a pas un équivalent pour ksh ??
Merci encore une fois.