Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Scripettino bash

  1. #1
    Utente di HTML.it L'avatar di indre
    Registrato dal
    Jan 2002
    Messaggi
    2,735

    Scripettino bash

    Ciao a tutti..
    ho un problema con uno scipt bash elementare (non per me )

    Uso nagios per monitoring apparati e servizi di rete..
    e uso gli sms di un sito per farmi spedire gli alert..

    lo scrpt è questo

    #!/bin/bash

    CONTACTPAGER=$1
    DATETIME=$2
    NOTIFICATIONTYPE=$3
    SERVICEDESC=$4
    HOSTALIAS=$5
    HOSTADDRESS=$6
    HOSTSTATE=$7

    TEXT=`echo -n Data: $DATETIME Notification: $NOTIFICATIONTYPE Servizio: $SERVICEDESC Host: $HOSTALIAS Address: $HOSTADDRESS Status: $HOSTSTATE | /usr/bin/urlencode`

    poi questo lo passo a wget:
    wget http://xxx.xxx.xxx.xxx/cgi?sms_cont=xxx&sms_text=$TEXT

    l'sms arriva a destinazione correttamente il problema è che arriva sfasato..
    in partica mi arriva

    Data: 27 Notification: 12 Servizio 2005
    Host: 15:48:00 Address: ........

    la data viene "divisa" infatti ricomponendo ho 27 12 2005 15:48:00

    Non capisco come fare per correggere questo errore e far venire
    Data: 27 12 2005 15:48:00 Notification: Problem ecc...

    Grazie mille
    When I was young I used to pray for a bike. Then I realized that God doesn't work that way. So I stole a bike and prayed for forgiveness.

  2. #2
    Utente di HTML.it L'avatar di edriv
    Registrato dal
    Oct 2004
    Messaggi
    367
    Se tu gli passi i paramerti 25 dicembre 2005, è naturale che 25 sia il primo parametro, dicembre il secondo e 2005 il terzo...

    Quindi, o metti la data tra virgolette, oppure la generi nello script con DATETIME=`date`

    (man date)
    I've got a bike. You can ride it if you like.

  3. #3
    Utente di HTML.it L'avatar di indre
    Registrato dal
    Jan 2002
    Messaggi
    2,735

    re

    humm quindi dici di fare..
    CONTACTPAGER=`$1`
    DATETIME=`$2`
    NOTIFICATIONTYPE=`$3`
    SERVICEDESC=`$4`
    HOSTALIAS=`$5`
    HOSTADDRESS=`$6`
    HOSTSTATE=`$7`

    ?

    la data la passa nagios..
    When I was young I used to pray for a bike. Then I realized that God doesn't work that way. So I stole a bike and prayed for forgiveness.

  4. #4
    Utente di HTML.it L'avatar di edriv
    Registrato dal
    Oct 2004
    Messaggi
    367
    no! dico di fare


    CONTACTPAGER=$1
    DATETIME=`date`
    NOTIFICATIONTYPE=$2
    SERVICEDESC=$3
    HOSTALIAS=$4
    HOSTADDRESS=$5
    HOSTSTATE=$6

    in questo modo la data viene generata automaticamente e non devi passarla come argomento.
    Oppura lasci come prima ma la data la mett tra virgolette
    I've got a bike. You can ride it if you like.

  5. #5
    Utente di HTML.it L'avatar di indre
    Registrato dal
    Jan 2002
    Messaggi
    2,735

    re

    ok questo può esser un escamotage.. e non usare data di nagios..
    ma se avessi per dire
    $NOTIFICATION=$2

    e la var che mi pasa nagios è: Problema Https
    anch qui avrei lo stesso problema no?
    When I was young I used to pray for a bike. Then I realized that God doesn't work that way. So I stole a bike and prayed for forgiveness.

  6. #6
    Utente di HTML.it L'avatar di edriv
    Registrato dal
    Oct 2004
    Messaggi
    367
    Se tutti i parametri sono separati da spazi in teoria non puoi distinguerli...
    Se sono separati da qualcos'altro forse sì.
    I've got a bike. You can ride it if you like.

  7. #7
    Prova a quotare parzialmente (con " " ) la variabile che ti da problemi. Penso sia un problema di spazi (difatti il partial quoting preserva gli spazi che tu immetti).

    io farei una cosa del tipo
    TEXT=`echo -n "Data: $DATETIME Notification: $NOTIFICATIONTYPE Servizio: $SERVICEDESC Host: $HOSTALIAS Address: $HOSTADDRESS Status: $HOSTSTATE" | /usr/bin/urlencode `

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.