Convertir une commande Batch en une commande Bash
Résolu/Fermé
all94
Messages postés
77
Date d'inscription
mardi 15 mai 2012
Statut
Membre
Dernière intervention
25 février 2015
-
16 août 2013 à 16:27
all94 Messages postés 77 Date d'inscription mardi 15 mai 2012 Statut Membre Dernière intervention 25 février 2015 - 20 août 2013 à 11:23
all94 Messages postés 77 Date d'inscription mardi 15 mai 2012 Statut Membre Dernière intervention 25 février 2015 - 20 août 2013 à 11:23
A voir également:
- Batch to bash
- Fichier batch - Guide
- Qwerty to azerty - Guide
- 1 to ✓ - Forum Windows
- Press del to enter setup ✓ - Forum Windows
- List bash ✓ - Forum Shell
2 réponses
all94
Messages postés
77
Date d'inscription
mardi 15 mai 2012
Statut
Membre
Dernière intervention
25 février 2015
5
16 août 2013 à 17:12
16 août 2013 à 17:12
Désolé, je viens de trouver la solution à mon problème :
il suffisais d'utiliser la commande sed pour remplacer les virgules par des espaces et récupérer le contenue du fichier avec options=$(cat options.txt).
Cordialement, all94
il suffisais d'utiliser la commande sed pour remplacer les virgules par des espaces et récupérer le contenue du fichier avec options=$(cat options.txt).
Cordialement, all94
all94
Messages postés
77
Date d'inscription
mardi 15 mai 2012
Statut
Membre
Dernière intervention
25 février 2015
5
Modifié par all94 le 19/08/2013 à 19:06
Modifié par all94 le 19/08/2013 à 19:06
Bonjour, merci de ta réponse mais je ne comprend pas ta dernière ligne car je m'y suis mis à Bash que depuis peu de temps et j'ai encore du chemin à parcourir pour m'améliorer.
Selon moi, tu rajoute des paramètre pour que les virgule devienne des espaces mais cela sans que cela ne soit effectif tout le temps, si un moment donné tu dois taper tout simplement le nom de la varable sans aucun paramètre. Après je peux me tromper étant donner que je ne fais que la déduire et que je ne la comprend pas vraiment.
Sinon voici le code qui fonctionne à présent pour une liste à 4 choix possible :
Cordialement, all94
Selon moi, tu rajoute des paramètre pour que les virgule devienne des espaces mais cela sans que cela ne soit effectif tout le temps, si un moment donné tu dois taper tout simplement le nom de la varable sans aucun paramètre. Après je peux me tromper étant donner que je ne fais que la déduire et que je ne la comprend pas vraiment.
Sinon voici le code qui fonctionne à présent pour une liste à 4 choix possible :
read -p "> " choixlaunch echo $choixlaunch>options.txt sed -e 's/,/ /g' options.txt>options.txt choixlaunch=$(cat options.txt) rm options.txt
Cordialement, all94
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
19 août 2013 à 19:10
19 août 2013 à 19:10
La dernière ligne fait la même chose que ta ligne avec "sed". Dans bash on appelle ça le développement des paramètres. Là en l'occurrence c'est de la substitution de motif, tout comme sed, mais c'est propre au shell et on n'a pas besoin de faire appel à une commande externe.
$ A="1,2,3,4,5" $ echo "${A}" 1,2,3,4,5 $ echo "${A}" | sed 's/,/ /g' 1 2 3 4 5 $ echo "${A//,/ }" 1 2 3 4 5
all94
Messages postés
77
Date d'inscription
mardi 15 mai 2012
Statut
Membre
Dernière intervention
25 février 2015
5
Modifié par all94 le 20/08/2013 à 11:24
Modifié par all94 le 20/08/2013 à 11:24
Bonjour, merci beaucoup pour ta réponse, grâce à toi je vais pourvoir enrichir mes connaissances en programmation Bash.
Merci encore, all94
Merci encore, all94
16 août 2013 à 17:19
Il aurait été plus simple d'expliquer directement ce que tu voulais, plutôt que de nous mettre l'équivalent en batch ;-(
D'autant que "sed" me parait inutile, bash pouvant traiter ta demande tout seul :