Script per eseguire script

di il
8 risposte

Script per eseguire script

Salve, ho una directory con vari script shell. Ad esempio script1.sh script2.sh script3.sh

Vorrei creare uno script che mi esegua l'ultimo script creato in ordine di tempo. Tanto per capirci quello che mi viene con il comando ls -rt | tail -n 1

Come si fa? Grazie

8 Risposte

  • Re: Script per eseguire script

    Con i comandi della "bash" puoi fare TUTTO:
    fai la lista degli script in ordine inverso di data, quindi prendi il primo e lo esegui.
  • Re: Script per eseguire script

    Non so come prenderlo...
    Credo che vada fatto in questo modo:
    1) creare una variabile che memorizzi il nome dell'ultimo script creato in ordine di tempo
    2) renderlo in qualche modo eseguibile
    3) copiarlo sul terminale
    4) dare un qualche comando che lo esegua..
    Il punto più difficile è l'ultimo... Non ho idea di come si faccia...
  • Re: Script per eseguire script

    Ho risolto il punto 4!!!!!
    il comando per eseguire uno script è "bash"!!!
    Io cercavo qualcosa tipo exec...
    Ora devo creare la variabile...
  • Re: Script per eseguire script

    Non riesco a creare la variabile "ls -rt | tail -n 1"
    come si fa?
  • Re: Script per eseguire script

    Se ho ben capito (???)
    VARIABILE="$(ls -rt |tail -n 1)"
    Aggiungo che in realtà il sistema non è sempre dotato di "bash", è solo una delle tante shell.
    comunque un passo alla volta.
  • Re: Script per eseguire script

    C'e' anche un'altra soluzione: usare uno dei tanti linguaggi di scripting, ad esempio Python o Perl.
  • Re: Script per eseguire script

    GRAZIEEEE!
    punto 1 risolto!
    Come faccio ora a renderlo eseguibile?
    può andar bene:
    chmod 0777 "$VARIABILE"
  • Re: Script per eseguire script

    RISOLTO TUTTO!!!!
    Grazie di cuore a tutti!
    lo script finale è questo:

    VARIABILE="$(ls -rt | tail -n 1)"
    chmod 0777 "$VARIABILE"
    bash "$VARIABILE"

    Grazie ancora!
Devi accedere o registrarti per scrivere nel forum
8 risposte