Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet
Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet
Il nuovo Deebot X12 OmniCyclone abbina un sistema di raccolta dello sporco senza sacchetto, un rullo di lavaggio esteso e la tecnologia FocusJet per intervenire più efficacemente sulle macchie più persistenti. Un robot completo e preciso che aiuta a tenere puliti i pavimenti di casa con il minimo sforzo
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2 implementa un mocio a nastro che esegue una pulizia dettagliata del pavimento di casa, in abbinamento ad un potente motore di aspirazione della polvere: un prodotto ideale per gestire in autonomia e con grande efficacia le necessità di pulizia dei pavimenti di casa
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-01-2009, 16:44   #1
Slayer86
Senior Member
 
Iscritto dal: Mar 2006
Città: Riccione
Messaggi: 1851
[Bash] Script per masterizzare dvd

Ciao a tutti vorrei realizzare un semplice script che servirà per masterizzare dei dvd.
Allora lo script è davvero semplice sono di fatto 3 comandi...
Tuttavia vorrei che data un path come argomento venisse creata una iso del contenuto della cartella... la iso dovrà essere montata per vederne il contenuto...
Fin qui nessun problema, però a questo punto vorrei che lo script si interrompesse per dare modo di visualizzare il contenuto della iso... e poi aspettasse conferma per continuare...
quindi magari farlo attendere un input da terminale yes o no...
come faccio?
Ho provato a cercare un po in giro ma non so nemmeno se è una cosa fattibile con uno script...
Grazie a tutti
__________________
Visitate il mio blog sul mondo FPV:HeavyMachineGun
Per i veri appassionati di Formula1: PassioneF1
Slayer86 è offline   Rispondi citando il messaggio o parte di esso
Old 11-01-2009, 17:02   #2
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
un semplice script
Se intendi montare, visualizzare e masterizzare ISO non è poi uno script semplicissimo. Per la masterizzazione non credo ci siano troppi problemi, ci sarebbe invece da capire cosa intendi per "visualizzare il contenuto" di un'immagine ISO.
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 11-01-2009, 17:42   #3
Pappe
Senior Member
 
L'Avatar di Pappe
 
Iscritto dal: Nov 2005
Città: Parma GialloBlu
Messaggi: 450
se metti una cosa del tipo:

nautilus /cartella_da_vedere

lo script nn rimane "pausato" finchè non chiudi nautilus??
__________________


Dell Latitude E6420 @ Windows 7 Pro
ASUS A6Ja-Q039H @ Windows 7 Pro
Pappe è offline   Rispondi citando il messaggio o parte di esso
Old 11-01-2009, 18:35   #4
Slayer86
Senior Member
 
Iscritto dal: Mar 2006
Città: Riccione
Messaggi: 1851
Quote:
Originariamente inviato da variabilepippo Guarda i messaggi
Se intendi montare, visualizzare e masterizzare ISO non è poi uno script semplicissimo. Per la masterizzazione non credo ci siano troppi problemi, ci sarebbe invece da capire cosa intendi per "visualizzare il contenuto" di un'immagine ISO.
bhe faccio il mount dell'immagine... poi apro nautils nella cartella in cui ho montato l'immagine... e nel frattempo chiedo conferma se procedere o meno...

Quote:
Originariamente inviato da Pappe Guarda i messaggi
se metti una cosa del tipo:

nautilus /cartella_da_vedere

lo script nn rimane "pausato" finchè non chiudi nautilus??
no... lo script continua!

cmq posto quello che ho fatto fino ad ora:
Codice:
#!/bin/bash
#
#burn-dvd.sh: crea la iso di una cartella poi la masterizza.
#

if test $# != 2 ;then

	echo 'Numero parametri in ingresso sbagliati'
	exit 1

fi

PATH=$1

NAME=$2

MAXDIM=4400000

echo 'Inizio preparazione iso della cartella:'
echo $PATH
echo 'Nome della iso:'
echo $NAME

#calcolo dimensione cartella
DIM=`/usr/bin/du -sc $PATH | /bin/grep totale | /usr/bin/cut -f1`

#controllo della dimensione della cartella
if [ $DIM -gt $MAXDIM ]; then 
	echo 'La dimensione totale dei file da masterizzare è '$DIM
	echo 'La dimensione dei file supera quella massima consentita per un dvd!' 
	exit 2
fi

echo 'Inizio preparazione della iso:'
#preparazione della iso
#mkisofs -R -J -joliet-long -o $NAME'.iso' $PATH
echo 'Iso completata.'

#mount della iso per controllare il contenuto
#sudo mount -t iso9660 $NAME'.iso' /media/iso -o loop

echo 'Controllare che il contenuto della iso sia corretto:'

#/usr/bin/nautilus /media/iso

echo 'Procedere con la masterizzazione?'

#sospendere lo script per far sciegliere secontinuare o meno

#smontagio della iso
#sudo umount /media/iso

echo 'Inizio masterizzazione:'

#inizio della masterizzazione
#growisofs -Z /dev/sr1=$NAME'.iso'

echo 'Copia avvenuta con successo!!!'
echo 'Rimozione della iso'

#/usr/bin/eject /dev/sr1

echo 'Reinserire il dvd se si vuole controllare il contenuto!'
manca appunto la parte che non so fare... ovvero bloccare il flusso di istruzioni e riprenderlo a comando... tipo la funzione get del C

poi va ripulito di alcune cose inutili... vorrei metterci la possibilità di fare il log su file e di sciegliere a priori il numero di copie...
ma tutto questo lo si fa facilmente se riesco a far fermare sto script quando dico io...


EDIT: trovato cercando con google... basta usare read e salvare quello che si scrive in una variabile!!! adesso comleto lo script! Poi lo riposterò così mi date una mano a fare i log su file!

Se avete suggerimenti per migliorarlo ditemi pure!
__________________
Visitate il mio blog sul mondo FPV:HeavyMachineGun
Per i veri appassionati di Formula1: PassioneF1

Ultima modifica di Slayer86 : 11-01-2009 alle 19:05.
Slayer86 è offline   Rispondi citando il messaggio o parte di esso
Old 11-01-2009, 19:29   #5
Slayer86
Senior Member
 
Iscritto dal: Mar 2006
Città: Riccione
Messaggi: 1851
Domanda come faccio ad interrompere lo script se per caso la creazione della iso non va a buon fine... insomma... quando lo script chiama mkisofs e c'è un qualsiasi problema ho un qualche parametro di ritorno che mi fa capire che la chiamata non è andata abuon fine?
Questo mi servirebbe per capire se qualche cosa fa male e cosa...

invece qualche suggerimento per quanto riguarda il log si file??? come faccio a indirizzare sia in stdout sia su un file di log?

Grazie del aiuto!
__________________
Visitate il mio blog sul mondo FPV:HeavyMachineGun
Per i veri appassionati di Formula1: PassioneF1
Slayer86 è offline   Rispondi citando il messaggio o parte di esso
Old 11-01-2009, 20:33   #6
Slayer86
Senior Member
 
Iscritto dal: Mar 2006
Città: Riccione
Messaggi: 1851
Codice:
#!/bin/bash
#
#burn-dvd.sh: crea la iso di una cartella poi la masterizza. By Slayer86
#

if test $# != 2 ;then

	echo 'Numero parametri in ingresso sbagliati'
	exit 1

fi

PATH=$1

NAME=$2

echo 'Controllo esistenza di un file iso con lo stesso nome:'
EXE=`/bin/ls | /bin/grep $NAME`

if [ $EXE = $NAME'.iso' ] ; then
	echo 'Esiste già un file iso con lo stesso nome, si vuole sovrascrivere il file? yes/no'
	read DEC
	while [ "$DEC" != "yes" ] ; do 		#controllo che venga scritto yes o no
		if [ $DEC = 'no' ] ; then		
			echo 'Cambiare il nome della iso:'
			read NAME
			break	
		fi
		echo 'Scrivere solo yes/no!'
		echo 'Esiste già un file iso con lo stesso nome, si vuole sovrascrivere il file? yes/no'
		read DEC
	done
fi

#
#Aggiungere il numero di copie che si vuole fare della stessa iso!
#

MAXDIM=4400000

echo 'Inizio preparazione iso della cartella:'
echo $PATH
echo 'Nome della iso:'
echo $NAME

#calcolo dimensione cartella
DIM=`/usr/bin/du -sc $PATH | /bin/grep totale | /usr/bin/cut -f1`

#controllo della dimensione della cartella
if [ $DIM -gt $MAXDIM ]; then 
	echo 'La dimensione totale dei file da masterizzare è '$DIM
	echo 'La dimensione dei file supera quella massima consentita per un dvd!' 
	exit 2
fi

echo 'Inizio preparazione della iso:'
#preparazione della iso
/usr/bin/mkisofs -R -J -joliet-long -o $NAME'.iso' $PATH
echo 'Iso completata.'

#mount della iso per controllare il contenuto
/usr/bin/sudo mount -t iso9660 $NAME'.iso' /media/iso -o loop

echo 'Controllare che il contenuto della iso sia corretto:'

/usr/bin/nautilus /media/iso

echo 'Procedere con la masterizzazione? yes/no'

#sospendere lo script per far sciegliere secontinuare o meno
read CONF

while [ "$CONF" != "yes" ] ; do 		#controllo che venga scritto yes o no
	if [ $CONF = 'no' ] ; then		#interruzione
		echo 'Copia interrotta!'
		exit 3
	fi
	echo 'Scrivere solo yes/no!'
	echo 'Procedere con la masterizzazione? yes/no'
	read CONF
done

#smontagio della iso
/usr/bin/sudo umount /media/iso

echo 'Inizio masterizzazione:'

#inizio della masterizzazione
/usr/bin/growisofs -Z /dev/sr1=$NAME'.iso'

#
#Aggingere un controllo che la copia avvenga con successo!!!
#

echo 'Copia avvenuta con successo!!!'
echo 'Rimozione della iso'
/bin/rm -v $NAME'.iso'

/usr/bin/eject /dev/sr1

echo 'Reinserire il dvd se si vuole controllare il contenuto!'
Dovrebbe essere funzionante!

Non ho provato a masterizzare ma a fare solo la iso!
Cmq masterizzare è un comando solo...

Dunque per ora fa semplicemente una copia di una cartella dopo aver preparato l'iso...
alla inizio controlla che non esista già una isa chiamata nello stesso modo e poi alla fine cancella l'iso creata...

Le prossime modifiche che farò sono :
-aggiungere il log su file (ma qui vorrei sentire il parere di qualcuno!)
-poter sciegliere quante copie fare della stessa iso...
-modulare l'output a video in base alle opzioni messe all'inizio tipo -v per avere l'output completo
-fare lo script un pelo più personalizzabile... ovvero poter sciegliere la velocità a cui scrivere ecc...

Spero che questo script possa essere utile a qualcuno come lo è per me...
Intanto lo faccio per perndere dimestichezza con il linguaggio bash che mi ha sempre affascinato ma non lo so usare un granche!
ciao a tutti!
__________________
Visitate il mio blog sul mondo FPV:HeavyMachineGun
Per i veri appassionati di Formula1: PassioneF1
Slayer86 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet Ecovacs Deebot X12 OmniCyclone: lava grazie a Fo...
Narwal Flow 2: la pulizia di casa con un mocio a nastro Narwal Flow 2: la pulizia di casa con un mocio a...
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Amazon Tech Week 2026: RTX 5000, process...
Grandi offerte Amazon su scope elettrich...
Amazon e Anthropic rafforzano la partner...
Elden Ring: il film arriverà fra ...
Mercato PC, +3,2% nel Q1 2026: Lenovo se...
Corsair Platform: scrivanie gaming modul...
Assassin's Creed Black Flag Resynced: Ub...
La crisi delle memorie colpisce anche Ap...
NVIDIA accelera il Path Tracing: nuovo a...
Le migliori cuffie gaming wireless del 2...
Anche HONOR avrà il suo Pro Max: ...
Sta arrivando WhatsApp Plus: cosa includ...
Una GeForce RTX 5070 a un prezzo super c...
Nothing Phone (3) 16+512GB crolla a 662,...
Gigabyte risolve il problema dei connett...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:39.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v