Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    [linux script] string tokenizer

    Ciao!
    sto cercando di fare uno script ma ho la necessità di dividere i parametri passati allo script in 3 variabili. con $* ottengo una stringa con tutti i parametri passati, come posso dividerli? grazie
    Powered by MacOSX Lion

  2. #2

    Re: [linux script] string tokenizer

    Originariamente inviato da Tigre851
    sto cercando di fare uno script ma ho la necessità di dividere i parametri passati allo script in 3 variabili. con $* ottengo una stringa con tutti i parametri passati, come posso dividerli? grazie
    Non puoi usare $1 $2 $3... ?
    Comunque dovrebbe esserci un built-in in bash per dividere una stringa in token.
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  3. #3
    proprio quello che mi serviva. grazie 1000
    Powered by MacOSX Lion

  4. #4
    Utente di HTML.it L'avatar di Ilmalcom
    Registrato dal
    Oct 2002
    Messaggi
    1,345

    Re: Re: [linux script] string tokenizer

    Originariamente inviato da Ikitt
    Non puoi usare $1 $2 $3... ?
    Comunque dovrebbe esserci un built-in in bash per dividere una stringa in token.
    Si può usare cut, volendo

  5. #5
    mi puoi spigare come? perche ho un problema.

    comando dato1 "ciao mondo"

    $1 --> contiene dato1
    $2 --> contiene solo ciao e non ciao mondo...

    come posso fare?
    Powered by MacOSX Lion

  6. #6
    Utente di HTML.it L'avatar di Ilmalcom
    Registrato dal
    Oct 2002
    Messaggi
    1,345
    Originariamente inviato da Tigre851
    mi puoi spigare come? perche ho un problema.

    comando dato1 "ciao mondo"

    $1 --> contiene dato1
    $2 --> contiene solo ciao e non ciao mondo...

    come posso fare?
    "$2" contiene ciao mondo

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,798
    codice:
    [sergio@winnie ~]$ cat stampa.sh 
    #!/bin/bash
    #
    echo "arg[0]: $0"
    echo "arg[1]: $1"
    echo "arg[2]: $2"
    [sergio@winnie ~]$ bash stampa.sh dato1 "ciao mondo"
    arg[0]: stampa.sh
    arg[1]: dato1
    arg[2]: ciao mondo
    [sergio@winnie ~]$ chmod u+x stampa.sh 
    [sergio@winnie ~]$ ./stampa.sh dato1 "ciao mondo"
    arg[0]: ./stampa.sh
    arg[1]: dato1
    arg[2]: ciao mondo
    verifica quanto hai fatto con questo esempio banalissimo.
    quello che ti e' stato suggerito dagli altri utenti è corretto.

    ciao.
    Slack? Smack!

  8. #8
    avete ragione scusate... ho appena ricontrollato... grazie
    Powered by MacOSX Lion

  9. #9
    scusate la mia ignoranza estrema... (è la prima volta che mi metto a fare uno script in bash) però ho un altro problema...

    il mio script non è altro che un interfaccia per un altro script... si tratta di smssend.

    esso richiede i seguenti parametri

    smssend vodafoneit user passw numdestinatario messaggio

    fin qui tutto bene, il mio script (a cui ho dato nome "sms")chiede solo nomedest e messaggio, solo che se il messaggio è passato con le virgolette queste non mi vengono passate.

    destinatario=$1
    messaggio=$2
    /* ricerca del numero telefonico del destinatario tramite il nome*/

    smssend vodafoneit user passw $destinatario $messaggio

    il problema è che se il messaggio è del tipo "ciao come va"
    la variabile messaggio conterrà: ciao come va senza le virgolette che se passate allo script smssend verranno interpretati come tre parametri differenti.

    scusate ancora e vi ringrazio in anticipo
    Powered by MacOSX Lion

  10. #10
    Utente di HTML.it L'avatar di Ilmalcom
    Registrato dal
    Oct 2002
    Messaggi
    1,345
    Prego? Non ho capito il problema

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 © 2025 vBulletin Solutions, Inc. All rights reserved.