Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Problema script bash

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    369

    Problema script bash

    Salve a tutti. Premetto che di script di bash me ne intendo pochino; mi hanno dato uno script che serve a ridurre la banda allocata ad una classe udp (creata mediante tc) di 0.3Mbps ogni 30 secondi.

    Lo script è il seguente:

    Codice PHP:
    bash$ for x in $(seq 0.0 0.3 2.0) ; do
    sleep 30
    rate
    =$(echo $x tr ',' '.' awk '{print 2.0-$1}')
    sudo tc class change ... rate ${rate}mbit 
    dunque la prima riga crea un ciclo for che ciclerà per valori di x da 0.0 a 2.0, incrementando di 0.3 il valore di x ad ogni ciclo.

    la seconda riga farà semplicemente passare 30secondi

    la terza riga calcola il valore da mettere nella variabile rate e (credo) che stampi qualcosa sulla shell che indica il cambiamento

    la quarta riga aggiorna la classe tc relativa.

    ora: così non funziona. la shell mi indica 2 errori.

    1. Awk il carattere '?' non è riconosciuto (quindi qui credo ci sia qualche errore di sintassi nella terza riga).

    2. un errore su tc.

    Per il secondo mi son detto: bè, è normale, non gli dico quale classe cambiare...probabilmente devo sostituire i ... con i dettagli della classe. Quindi ho modificato così:

    Codice PHP:
    sudo tc class change dev lo parent 1:1 classid 1:20 rate ${rate}mbit 
    ma a questo punto mi da un altro errore: tc rate is classless.

    Considerando che le classi create con tc son create correttamente, e che la classe alla quale togliere banda è identificata da classid 1:20 con parent 1:1, qualcuno sa dirmi come potrei operare?

    grazie mille in anticipo

  2. #2
    Utente di HTML.it L'avatar di MatCap83
    Registrato dal
    Jun 2005
    residenza
    Firenze
    Messaggi
    1,319
    Ciao, per il primo errore prova a scrivere la terza riga così:

    codice:
    rate=$(echo `$x | tr ',' '.' | awk '{print 2.0-$1}'`)
    In pratica devono essere inserite le backquote che si scrivono con AltGr+'(apostrofo). In questo modo vengono eseguiti tutti i comandi prima che siano passati ad echo che li stampa a video. Guarda qui:

    http://tldp.org/LDP/abs/html/command...#COMMANDSUBREF

    Devo dare un'occhiata ad awk perché non ricordo come si utilizza ...
    "Nessuno mi ha visto farlo, e non puoi provarlo in nessun modo!" (Bart Simpson)

    >>> www.ombresulweb.com <<<

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.