Erreur bash

Fermé
too12 Messages postés 22 Date d'inscription mercredi 8 juin 2016 Statut Membre Dernière intervention 5 juillet 2016 - 13 juin 2016 à 11:34
too12 Messages postés 22 Date d'inscription mercredi 8 juin 2016 Statut Membre Dernière intervention 5 juillet 2016 - 13 juin 2016 à 12:26
Bonjour,

j'ai tapé cette commande,

java -jar file.jar << ( sleep 5 ; echo "3" ; sleep 1 ; echo "www.site0.eu" ; sleep 1 ; echo "www.modsec.com" ; sleep 1 ; echo "80"  )


mais j'ai cette erreur
bash: Erreur de syntaxe près du symbole inattendu " ( "

svp, aidez moi à corriger l'erreur.
merci

2 réponses

UnGnU Messages postés 1158 Date d'inscription lundi 2 mai 2016 Statut Contributeur Dernière intervention 22 décembre 2020 157
13 juin 2016 à 12:13
Salut,

En fait non, tu n'as pas tapé la bonne commande, la bonne est celle-ci :

java -jar file.jar < <( sleep 5 ; echo "3" ; sleep 1 ; echo "www.site0.eu" ; sleep 1 ; echo "www.modsec.com" ; sleep 1 ; echo "80"  )


L'erreur de syntaxe est minime à voir :
commande1 < <(commande2)


Il faut un espace entre le 1er chevron et le 2nd, et pas d'espace entre le 2nd chevron et la parenthèse.
0
too12 Messages postés 22 Date d'inscription mercredi 8 juin 2016 Statut Membre Dernière intervention 5 juillet 2016
13 juin 2016 à 12:26
Merci beaucoup,
en fait j'ai une version, plus propre qui utilise la builtin coproc
mais ça me donne pas la même résultat. (un retour directement du prompt)

#!/bin/bash
coproc java -jar WOF.jar
exec 3<&${COPROC[0]}
Reg="Choose Interface$"
while true;do read -d ':' -u 3 r;[[ "$r" =~ $Reg ]] && break;done
echo "3" >&${COPROC[1]}
Reg="LOCK PROFILE \(Website\) FOR PASSIVE ENGINE$"
while true;do read -d ':' -u 3 r;[[ "$r" =~ $Reg ]] && break;done
echo "www.site0.eu" >&${COPROC[1]}
Reg="ENTER WAF-BOX URL$"
while true;do read -d ':' -u 3 r;[[ "$r" =~ $Reg ]] && break;done
echo "www.modsec.com" >&${COPROC[1]}
Reg="ENTER PORT NO$"
while true;do read -d ':' -u 3 r;[[ "$r" =~ $Reg ]] && break;done
echo 80 >&${COPROC[1]}
exec 3<&-
wait


je voudrais savoir pourquoi ?, ou si vous pouvez m'aider à utiliser "expect" pour faire le même script
merci
0