2013-06-18 8 views
1

Je travaille un script shell pour administrer le système de messagerie. Essentiellement, je reçois les informations des utilisateurs et les grep pour obtenir les données dont j'ai besoin. J'ai couru les commandes ci-dessous dans le terminal et ils fonctionnent comme prévu mais quand j'utilise le script ci-dessous je reçois une erreur "Command not found". Je pense que c'est essayer de lancer la 3ème ligne comme une commande. Quelqu'un sait quel pourrait être le problème ici?Script Shell avec variables

read -p "Enter email address to remove from groups: " purge_email 
purge=$(python /gam/gam.py info user $purge_email) 
purge_chunk=$($purge | grep -A 100 "Groups:") 
echo $purge_chunk 
+1

En fait, j'ai résolu le problème en combinant les 2 lignes 'purge = $ (python /gam/gam.py info utilisateur $ purge_email | grep -A 100 "Groupes:")' – JoeRod

+0

Sauf si la sortie du script Python est un ligne de commande, vous devriez probablement faire: 'purge_chunk = $ (echo" $ purge "| grep -A 100" Groupes: ")', ce qui équivaut à utiliser la solution signalée. Utiliser 'bash -x script.sh' vous montrerait ce qui ne va pas. –

Répondre

1

Essayez:

purge_chunk=$("$purge" | grep -A 100 Groups:) 

le $purge doit être évaluée en sortie au format de la gam façon débute ce dans un fichier txt ou .csv vous utiliser comme source de données pour un script gam dans bash.

Questions connexes