Bash, programmare uno script

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Scrivi risposta
monossido
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 708
Iscrizione: sabato 7 ottobre 2006, 16:35
Località: Padova
Contatti:

Bash, programmare uno script

Messaggio da monossido »

Ciao a tutti...in uno script in bash dovrei avviare mencoder ad una certa ora inserita dall'utente
mencoder ha degli argomenti lunghissimi quindi pensavo di usufruire di uno script di appoggio...però a questo script di appoggio dovrei passare gli argomenti (ora di inizio durata e nome file)

pensavo di usare il comando "at" per programmare lesecuzione di uno script con:
"at -f /path/script.sh hh.mm"
hh.mm sarà la variabile ora...il problema è che dovrei passare a script.sh il nome del file e la durata...se li piazzo là mi da un errore come posso fare?
http://www.lorenzobraghetto.com <--blog
monossido AT lorenzobraghetto.com <--jabber/mail
https://twitter.com/monossido
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: Bash, programmare uno script

Messaggio da crap0101 »

at -f /path/script.sh hh.mm
l' hai scritto proprio così?
perchè dovrebbe essere
at -f /path/script.sh hhmm
o
at -f /path/script.sh hh:mm
poi, leggendo nel man, ho visto questo, l' hai già abilitato?
      Per entrambi at e batch, i comandi vengono letti dallo standard input o
      dal file specificato con l’opzione -f ed  eseguiti.
[...]
Il  superutente può sempre usare questi comandi.  Per gli altri utenti,
      l’autorizzazione  all’uso  è  determinata  dai  file  /etc/at.allow  e
      /etc/at.deny.

      Se  il file /etc/at.allow esiste, solo gli utenti il cui nome vi è men‐
      zionato sono abilitati a usare at.

      Se /etc/at.allow non esiste, /etc/at.deny viene  controllato,  ed  ogni
      utente il cui nome non vi è menzionato è abilitato a usare at.

      Se  né  l’uno  né  l’altro  esistono, solo il superutente è abilitato a
      usare at.
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
monossido
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 708
Iscrizione: sabato 7 ottobre 2006, 16:35
Località: Padova
Contatti:

Re: Bash, programmare uno script

Messaggio da monossido »

si è uguale che metta hhmm o hh:mm

cioè io dovrei avviare lo script di appoggio così:
"/path/script.sh nomefile 10"
passando come argomenti il nome del file e la durata...questo non funziona se inserisco così com'è quel comando dentro ad at:

at -f /home/monossido/registrazione.sh asd 10 10:30
syntax error. Last token seen: a
Garbled time

non saprei come fare
http://www.lorenzobraghetto.com <--blog
monossido AT lorenzobraghetto.com <--jabber/mail
https://twitter.com/monossido
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: Bash, programmare uno script

Messaggio da crap0101 »

monossido ha scritto: Garbled time
quello sembra indichi i processi ultimati ma non ancora cancellati,
scusa, che opzione è "asd 10" ?
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
monossido
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 708
Iscrizione: sabato 7 ottobre 2006, 16:35
Località: Padova
Contatti:

Re: Bash, programmare uno script

Messaggio da monossido »

all'interno dello script prendo il primo e il secondo argomento che passo allo script e li uso come nome del file e come durata
almeno questa era la mia intenzione
riporto il comando di mencoder:

Codice: Seleziona tutto

mencoder -quiet -endpos $DURATA:00 -ffourcc "divx" tv:// -tv driver=v4l2:input=1:width=720:height=576:device=/dev/video0:buffersize=256:fps=25:forceaudio:adevice=/dev/dsp -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2500 -vf pp=0x20000 -oac mp3lame   -o /home/monossido/$NOME.avi
Quandi al comando che do in pasto ad "at" qualunque esso sia (uno script di appoggio o il comando di mencoder diretto) devo in qualche modo specificare nome file e durata che sono stati inseriti dall'utente
Ultima modifica di monossido il sabato 8 marzo 2008, 11:15, modificato 1 volta in totale.
http://www.lorenzobraghetto.com <--blog
monossido AT lorenzobraghetto.com <--jabber/mail
https://twitter.com/monossido
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: Bash, programmare uno script

Messaggio da crap0101 »

domanda quasi sicuramente fuori luogo:
hai messo
#! /bin/sh
all' inizio del file col comando di mencoder?
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
monossido
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 708
Iscrizione: sabato 7 ottobre 2006, 16:35
Località: Padova
Contatti:

Re: Bash, programmare uno script

Messaggio da monossido »

#!/bin/bash è uguale no?

cmq il problema è proprio la sintassi di at...non so se c'è un modo diverso peer usare at oppure se c'è un modo diverso per programmare un'azione...crontab non credo possa essrmi utile o no?
http://www.lorenzobraghetto.com <--blog
monossido AT lorenzobraghetto.com <--jabber/mail
https://twitter.com/monossido
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: Bash, programmare uno script

Messaggio da crap0101 »

crontab...forse sì ma non l' ho mai usato, non ti so dire.
invece, ti dicevo di /bis/sh perchè, facendo delle prove mi resstituiva:
marco@marco-desktop:~/Desktop$ at -f /home/marco/Desktop/a 1129
warning: commands will be executed using /bin/sh
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
monossido
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 708
Iscrizione: sabato 7 ottobre 2006, 16:35
Località: Padova
Contatti:

Re: Bash, programmare uno script

Messaggio da monossido »

sono riuscito in un modo un pò empirico :D

Codice: Seleziona tutto

cat filetesto | at hh:mm
dove dentro al file di testo c'è il comando che vuoi con tutti gli argomenti che vuoi
sembra funzionare...se qualcuno ha qualche suggerimento per non usare un ulteriore file bene!
http://www.lorenzobraghetto.com <--blog
monossido AT lorenzobraghetto.com <--jabber/mail
https://twitter.com/monossido
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: Bash, programmare uno script

Messaggio da crap0101 »

bene, una soluzione interessante!  (good)
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
monossido
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 708
Iscrizione: sabato 7 ottobre 2006, 16:35
Località: Padova
Contatti:

Re: Bash, programmare uno script

Messaggio da monossido »

ecco qua lo script completo

Codice: Seleziona tutto

#!/bin/bash

if zenity --title "Programmare?" --question --text "Vuoi iniziare subito a registrare?"
then	
	NOME=`zenity --title "Inserisci nome file" --entry --text "Inserisci il nome del file da salvare. Attenzione se esiste già verrà sovrascritto!"`
	DURATA=`zenity --title "Inserisci la durata" --entry --text "Inserischi la durata in minuti della registrazione"`
	mencoder -quiet -endpos $DURATA:00 -ffourcc "divx" tv:// -tv driver=v4l2:input=1:width=720:height=576:device=/dev/video0:buffersize=256:fps=25:forceaudio:adevice=/dev/dsp -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2500 -vf pp=0x20000 -oac mp3lame   -o /home/monossido/$NOME.avi
fi
zenity --title "Avviso" --info --text "Ora puoi programmare una registrazione"
	NOME=`zenity --title "Inserisci nome file" --entry --text "Inserisci il nome del file da salvare. Attenzione se esiste già verrà sovrascritto!"`
	DURATA=`zenity --title "Inserisci la durata" --entry --text "Inserischi la durata in minuti della registrazione"`
	echo "mencoder -quiet -endpos $DURATA:00 -ffourcc "divx" tv:// -tv driver=v4l2:input=1:width=720:height=576:device=/dev/video0:buffersize=256:fps=25:forceaudio:adevice=/dev/dsp -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2500 -vf pp=0x20000 -oac mp3lame   -o /home/monossido/$NOME.avi" > comando
	ORA=`zenity --title "Inserisci l'ora" --entry --text "Inserisci l'ora di inizio della registrazione nel formato hh:mm"`
	cat comando | at $ORA
ho ripetuto la richiesta di nome e durata due vole nel codice per niente...ma mi dava fastidio che chiedesse quelle cos eprima di chiedere di registrare ;)

grazie crap per il supporto :D
http://www.lorenzobraghetto.com <--blog
monossido AT lorenzobraghetto.com <--jabber/mail
https://twitter.com/monossido
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: Bash, programmare uno script

Messaggio da crap0101 »

bravo, utile questo(i) script!

[quote author=monossido link=topic=167872.msg1111044#msg1111044
grazie crap per il supporto :D
[/quote]
e di che? hai fatto tutto te!
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti