[SHELL] Créer Commandes avec un fichier CSV
Bonjour,
J'ai besoin d'un coup de pouce sur un petit script.
Comment il doit fonctionner :
Un fichier CSV en Source avec 3 champs (HOST;PEER;N) comme variable d'entrée
Une petite boucle qui me génère des commandes de mon choix avec les infos contenus dans le CSV.
Mon script :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| #!/bin/bash
file=`cat /root/peer.csv`
echo "{OBJECT_TYPE};{COMMAND};{PARAMETERS}"
for line in $file
do
echo $line
HOST=`echo $line | awk -F";" '{print $1}'`
PEER=`echo $line | awk -F";" '{print $2}'`
N=`echo $line | awk -F";" '{print $3}'`
echo "SERVICE;ADD;$1;PEER_$2-BGP;App-Protocols-BGP-Peer-SNMP"
echo "SERVICE;setparam;$1;PEER_$2-BGP;service_is_volatile;2"
echo "SERVICE;setparam;$1;PEER_$2-BGP;service_active_checks_enabled;2"
echo "SERVICE;setparam;$1;PEER_$2-BGP;service_passive_checks_enabled;2"
echo "SERVICE;setparam;$1;PEER_$2-BGP;service_parallelize_check;2"
echo "SERVICE;setparam;$1;PEER_$2-BGP;service_obsess_over_service;2"
echo "SERVICE;setparam;$1;PEER_$2-BGP;service_check_freshness;2"
echo "SERVICE;setparam;$1;PEER_$2-BGP;service_event_handler_enabled;2"
echo "SERVICE;setparam;$1;PEER_$2-BGP;service_flap_detection_enabled;2"
echo "SERVICE;setparam;$1;PEER_$2-BGP;service_process_perf_data;2"
echo "SERVICE;setparam;$1;PEER_$2-BGP;service_retain_status_information;2"
echo "SERVICE;setparam;$1;PEER_$2-BGP;service_retain_nonstatus_information;2"
echo "SERVICE;setparam;$1;PEER_$2-BGP;service_notifications_enabled;2"
echo "SERVICE;setparam;$1;PEER_$2-BGP;contact_additive_inheritance;0"
echo "SERVICE;setparam;$1;PEER_$2-BGP;cg_additive_inheritance;0"
echo "SERVICE;setparam;$1;PEER_$2-BGP;service_inherit_contacts_from_host;1"
echo "SERVICE;setparam;$1;PEER_$2-BGP;service_use_only_contacts_from_host;0"
echo "SERVICE;setparam;$1;PEER_$2-BGP;service_locked;0"
echo "SERVICE;setparam;$1;PEER_$2-BGP;service_register;1"
echo "SERVICE;setparam;$1;PEER_$2-BGP;service_activate;1"
echo "SERVICE;setmacro;$1;PEER_$2-BGP;peer;$2;;''"
echo "SERVICE;setmacro;$1;PEER_$2-BGP;lower;$3;;''"
echo "SERVICE;setmacro;$1;PEER_$2-BGP;upper;$3;;''"
done |
Mon souci : Boucle OK, mais pas de donnée en lieu et place des variables
Quand j'exécute le script j'ai cela :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| {OBJECT_TYPE};{COMMAND};{PARAMETERS}
HOST;PEER;N
SERVICE;ADD;;PEER_-BGP;App-Protocols-BGP-Peer-SNMP
SERVICE;setparam;;PEER_-BGP;service_is_volatile;2
SERVICE;setparam;;PEER_-BGP;service_active_checks_enabled;2
SERVICE;setparam;;PEER_-BGP;service_passive_checks_enabled;2
SERVICE;setparam;;PEER_-BGP;service_parallelize_check;2
SERVICE;setparam;;PEER_-BGP;service_obsess_over_service;2
SERVICE;setparam;;PEER_-BGP;service_check_freshness;2
SERVICE;setparam;;PEER_-BGP;service_event_handler_enabled;2
SERVICE;setparam;;PEER_-BGP;service_flap_detection_enabled;2
SERVICE;setparam;;PEER_-BGP;service_process_perf_data;2
SERVICE;setparam;;PEER_-BGP;service_retain_status_information;2
SERVICE;setparam;;PEER_-BGP;service_retain_nonstatus_information;2
SERVICE;setparam;;PEER_-BGP;service_notifications_enabled;2
SERVICE;setparam;;PEER_-BGP;contact_additive_inheritance;0
SERVICE;setparam;;PEER_-BGP;cg_additive_inheritance;0
SERVICE;setparam;;PEER_-BGP;service_inherit_contacts_from_host;1
SERVICE;setparam;;PEER_-BGP;service_use_only_contacts_from_host;0
SERVICE;setparam;;PEER_-BGP;service_locked;0
SERVICE;setparam;;PEER_-BGP;service_register;1
SERVICE;setparam;;PEER_-BGP;service_activate;1
SERVICE;setmacro;;PEER_-BGP;peer;;;''
SERVICE;setmacro;;PEER_-BGP;lower;;;''
SERVICE;setmacro;;PEER_-BGP;upper;;;'' |
Une âme charitable pourrait m'aider ?
Un grand merci par avance.