Visualizzazione dei risultati da 1 a 10 su 10

Discussione: [BaSH] menu con select

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,202

    [BaSH] menu con select

    Ciao, c'è un modo per far sì che le voci di un'interfaccia fatta con select possano contenere spazi?
    Ho già provato con \ ma nulla... devo usare gli underscore...
    codice:
    e.g.
    
    voci="Seleziona_un_file esci"
    
    select scelta in $voci; do
    	case $scelta in 
    	("Seleziona_un_file")
           [...]
    Debian GNU/Linux sid
    Publishing a theory should not be the end of one's conversation with the universe, but the beginning. (Eric S. Raymond)
    Kernel 2.6.14-ck1

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,202
    up
    Debian GNU/Linux sid
    Publishing a theory should not be the end of one's conversation with the universe, but the beginning. (Eric S. Raymond)
    Kernel 2.6.14-ck1

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,202
    ri-up
    Debian GNU/Linux sid
    Publishing a theory should not be the end of one's conversation with the universe, but the beginning. (Eric S. Raymond)
    Kernel 2.6.14-ck1

  4. #4
    Utente di HTML.it L'avatar di M4rko
    Registrato dal
    Dec 2000
    Messaggi
    619
    e se provi con \x20 ? (20 in esadecimale -> 32 in decimale, ossia l'ascii corrispondente allo spazio)

    voci="Seleziona\x20un\x20file Esci"

    ma se hai gia provato con "\ " dubito che funzioni
    Tutti hanno bisogno di credere in qualcosa.
    Io credo che mi farò un'altra birra.


  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,202
    Nada...
    Ma è possibile che non si possano fare menu "spaziati"?
    Debian GNU/Linux sid
    Publishing a theory should not be the end of one's conversation with the universe, but the beginning. (Eric S. Raymond)
    Kernel 2.6.14-ck1

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,202
    ri-ri-up
    Debian GNU/Linux sid
    Publishing a theory should not be the end of one's conversation with the universe, but the beginning. (Eric S. Raymond)
    Kernel 2.6.14-ck1

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    ecco la soluzione!

    codice:
    gianiaz@dune:~$ IFS=$';'
    gianiaz@dune:~$ voci="Seleziona un file; esci"
    gianiaz@dune:~$ for i in $voci; do echo $i; echo "---";done
    Seleziona un file
    ---
     esci
    ---
    gianiaz@dune:~$ IFS=$' '
    gianiaz@dune:~$ for i in $voci; do echo $i; echo "---";done
    Seleziona
    ---
    un
    ---
    file;
    ---
    esci
    ---
    gianiaz@dune:~$
    La variabile $IFS indica alla bash quale carattere usare per la separazione (di default è lo spazio).

    Ciao

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,202
    Ti amo

    E vale solo per select o per tutto? Nel senso, dopo aver fatto il menu mi conviene reimpostarla a $' ' ?
    Debian GNU/Linux sid
    Publishing a theory should not be the end of one's conversation with the universe, but the beginning. (Eric S. Raymond)
    Kernel 2.6.14-ck1

  9. #9
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da Kamui
    Ti amo

    E vale solo per select o per tutto? Nel senso, dopo aver fatto il menu mi conviene reimpostarla a $' ' ?
    Non fare cosi che mi emoziono...

    Si vale per tutto, io la imposterei all'interno dello script finchè serve poi le ridarei il valore di default, amche se non so con precisione se questo tipo di variabili esistono solo all'interno dello script o se influiscono anche sull'ambiente dopo che lo script è terminato.

    Ciao

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,202
    Uhm il programma è praticamente tutto un menu, nel senso che dopo il menu non fa nulla e quel valore di IFS serve fino alla fine del menu
    Comunque una volta terminato lo script pare non avere più effetto :bubu:
    Debian GNU/Linux sid
    Publishing a theory should not be the end of one's conversation with the universe, but the beginning. (Eric S. Raymond)
    Kernel 2.6.14-ck1

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.