J'essaye d'écrire un script bash, mais il y a un problème - je ne peux pas voir le contenu de la variable en dehors de do-done. De l'aide?Linux extrait des valeurs de bash scipt
#!/bin/bash
file="ip.txt"
while IFS=: read -r f1 f2 f3
do
printf '%s %s %s\n' "$f1" "$f2" "$f3"
done <"$file"
printf '%s %s %s\n' "$f1" "$f2" "$f3"
echo -e "iptables -t nat -A PREROUTING -p tcp --dport $f2 -j DNAT --to-destination $f1:$f3"
Sortie>
192.168.0.1
2000
1000
iptables -t nat -A PREROUTING -p tcp --dport -j DNAT --to-destination :
Pouvez-vous vérifier votre sortie? Je pense que les 3 valeurs '192.168.0.1 2000 1000' sont sur une ligne. –
'read' affecte chaque variable à la chaîne vide de la lecture finale. Cette valeur vide est entièrement visible pour votre script! (Juste pas particulièrement utile) –