Rechercher : dans
Par :

Lancement d'un script avec argument

Dernière réponse le 13 déc 2006 à 15:51:49 nabil1706, le 12 déc 2006 à 14:30:12 
 Signaler ce message aux modérateurs

Bonjour,

voila mon script :
#!/bin/sh

A=$(date '+%m'"_20"'%y')

if [ -z "$n" ] ; then
echo "Vous n'avez pas passe parametre"
else


case $n in

Call) tail -1 StatProfileDailyCall_$A.csv |awk -F"," '{print $2}' > test1.txt
;;
Call1) tail -1 StatProfileDailyCall_$A.csv |awk -F"," '{print $3}' > test1.txt
;;
Call2) tail -1 StatProfileDailyCall_$A.csv |awk -F"," '{print $5}' > test1.txt
;;
Duration1) tail -1 StatProfileDailyDuration_$A.csv |awk -F"," '{print $2}' > test1.txt
;;
Duration2) tail -1 StatProfileDailyDuration_$A.csv |awk -F"," '{print $3}' > test1.txt
;;
Duration3) tail -1 StatProfileDailyDuration_$A.csv |awk -F"," '{print $6}' > test1.txt
;;
Duration4) tail -1 StatProfileDailyDuration_$A.csv |awk -F"," '{print $7}' > test1.txt
;;
Mbox) tail -1 StatProfileDailyMbox_$A.csv |awk -F"," '{print $2}' > test1.txt
;;
Msg) tail -1 StatProfileDailyMsg_$A.csv |awk -F"," '{print $2}' > test1.txt
;;
*) exit
;;
esac
fi
cat test1.txt
exit 0

Les fichiers stats sont de ce type :
Date,MboxCount,ActiveMbox,
01/12/2006,78182,0,
02/12/2006,78795,0,
03/12/2006,79311,0,
04/12/2006,79989,0,
05/12/2006,80659,0,
06/12/2006,81386,0,
07/12/2006,82129,0,
08/12/2006,82831,0,
09/12/2006,83302,0,
10/12/2006,83739,0,

Je recupere les champs qui m'interessent dans le script (la derniere ligne et une ou plusieurs colonnes non vides) et
je n'arrive pas a lancer le script :
Script. sh Call1
Merci de votre aide

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « Lancement d'un script avec argument » dans :
Exécuter un script shell VoirExécution d'un script Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités : 1. Le chemin absolu 2. Le chemin relatif 3. Modifier la variable PATH Note: Le Sha...
Script au démarrage et à l'arrêt d'Ubuntu VoirFaire exécuter un script au démarrage d'Ubuntu Modifiez le fichier /etc/rc.local et ajoutez vos commandes. Le script doit toujours se terminer par un exit 0 Faire exécuter un script au redémarrage Placez votre script dans /etc/rc0.d et rendez...

1

mamiemando, le 12 déc 2006 à 20:21:52

chmod +x Script.sh
./Script.sh Call1

Bonne chance

Répondre à mamiemando

2

lami20j, le 12 déc 2006 à 21:22:12

Salut,

il faut utiliser $1 et pas $n

$1 --> argument 1

#!/bin/sh

A=$(date '+%m'"_20"'%y')

if [ -z $1 ] ; then
  echo "Vous n'avez pas passe parametre"
else
 case $1 in

  Call) 
       tail -1 StatProfileDailyCall_$A.csv |awk -F"," '{print $2}' > test1.txt
  ;;
  Call1) 
       tail -1 StatProfileDailyCall_$A.csv |awk -F"," '{print $3}' > test1.txt
  ;;
  Call2) 
       tail -1 StatProfileDailyCall_$A.csv |awk -F"," '{print $5}' > test1.txt
  ;;
  Duration1) 
       tail -1 StatProfileDailyDuration_$A.csv |awk -F"," '{print $2}' > test1.txt
  ;;
  Duration2) 
       tail -1 StatProfileDailyDuration_$A.csv |awk -F"," '{print $3}' > test1.txt
  ;;
  Duration3) 
       tail -1 StatProfileDailyDuration_$A.csv |awk -F"," '{print $6}' > test1.txt
  ;;
  Duration4) 
       tail -1 StatProfileDailyDuration_$A.csv |awk -F"," '{print $7}' > test1.txt
  ;;
  Mbox) 
       tail -1 StatProfileDailyMbox_$A.csv |awk -F"," '{print $2}' > test1.txt
  ;;
  Msg) 
       tail -1 StatProfileDailyMsg_$A.csv |awk -F"," '{print $2}' > test1.txt
  ;;
  *) 
       echo "Parametre inexistant"
       exit
  ;;
 esac
fi
cat test1.txt
exit 0 
Pour l'exécuter fait comme t'a dit mamiemando lami20j

Répondre à lami20j

3

 nabil1706, le 13 déc 2006 à 15:51:49

Merci,

Il etait deja excecutable
sinon il fallait declarer l'argument au debut...

Répondre à nabil1706