Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [Shell script] Problema variabili

    Ciao!

    Ho un problema con uno script che ho scritto...

    dopo aver richiesto un valore con read

    read kver
    echo "linux-image-$kver_$kver"

    scrive su schermo

    linux-image-$kver

    invece di

    linux-image-$kver_$kver

    non capisco perche' si mangi _$ver

    Avete idee?

    Grazie!

  2. #2
    Utente di HTML.it L'avatar di bereshit
    Registrato dal
    Oct 2005
    Messaggi
    2,874
    non so molto di bash..ma non ho visto che levando il trattino basso e mettendone uno altro il problema scompare..probabilmente avrà una funzione particolare il _

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    746
    Originariamente inviato da bereshit
    non so molto di bash..ma non ho visto che levando il trattino basso e mettendone uno altro il problema scompare..probabilmente avrà una funzione particolare il _
    il trattino basso (underscore) è tra i caratteri ammessi nel nome di una variabile,
    pertanto $kver_ viene riconosciuta come tale, e risulta differente da $kver

    dando echo "$kver_$kver", infatti, non viene stampato <valore.kver>_<valor.kver>,
    ma <valore.kver_><valore.kver> e, poichè la prima non è, evidentemente, dichiarata,
    il suo valore risulta nullo

    se proprio ti interessa l'underscore, prova con

    codice:
    echo "linux-image-${kver}_${kver}"
    echo -e "linux-image-$kver\x5f$kver"
    echo -e "linux-image-$kver\137$kver"
    etc...



    <tab>

  4. #4
    Grazie mille!

    ho messo ${kver}_${kver}

    Funziona perfettamente!

    Grazie ancora!

  5. #5
    Utente di HTML.it L'avatar di bereshit
    Registrato dal
    Oct 2005
    Messaggi
    2,874
    evviva la conoscenza


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.