Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
  Condividi: Facebook Twitter
[Risolto] Lo script bash non esegue il ciclo while
#5
Ciao Ciao m3nhir.
In effetti, la presenza o meno del parametro [-r] non cambia il risultato, quindi l'ho tolto.
Ora il mio listato è
Codice:
#!/bin/bash
while read IN; do
    OUT='elaborato-'${IN::-4}'-crop'${IN:(-4)} # Imposta nome ed estensione del file audiovisivo elaborato
    Y=$((480+0)) # Imposta l'altezza del file audiovisivo elaborato
    X=$((Y*3/2)) # Imposta la larghezza del file audiovisivo elaborato
    X1=300 # Imposta la distanza dal lato sinistro
    Y1=100 # Imposta la distanza dal lato superiore
    XY="crop="$X":"$Y":$X1:$Y1" # Imposta i parametri di crop
    echo ffmpeg -i $IN -vf $XY -acodec copy $OUT >> output01.txt
    # ffmpeg -i $IN -vf $XY -acodec copy $OUT
done < lista.txt
(altre differenze dal precedente listato: le righe contenenti il comando ffmpeg ora sono 2: una preceduta da [echo] e seguita da [>> output01.txt], e l'altra #commentata, in modo che non venga eseguita)
Se io avvio lo script suddetto, ottengo un file di testo chiamato output01.txt contenente le 3 righe seguenti:
Codice:
ffmpeg -i 20231005_224603.mp4 -vf crop=720:480:300:100 -acodec copy elaborato-20231005_224603-crop.mp4
ffmpeg -i 20231012_223758.mp4 -vf crop=720:480:300:100 -acodec copy elaborato-20231012_223758-crop.mp4
ffmpeg -i 20231019_230246.mp4 -vf crop=720:480:300:100 -acodec copy elaborato-20231019_230246-crop.mp4
e fin qui ci siamo.
Quindi, se cancello il file di testo chiamato output01.txt, tolgo il commento all'altra riga contenente il comando ffmpeg, e ri-avvio lo script, nella cartella di lavoro, assieme ai files pre-esistenti, mi aspetto di trovare un nuovo file di testo chiamato output01.txt avente il medesimo contenuto del precedente file di testo omonimo, più i 3 nuovi files mp4 croppati, invece, accanto ai files pre-esistenti, trovo solo un nuovo file di testo chiamato output01.txt contenente unicamente la riga
Codice:
ffmpeg -i 20231005_224603.mp4 -vf crop=720:480:300:100 -acodec copy elaborato-20231005_224603-crop.mp4

più elaborato-20231005_224603-crop.mp4

come se la prima esecuzione del comando ffmpeg avesse provocato la fine anticipata del ciclo while. 0032
Perché?
Cita messaggio


Messaggi in questa discussione
RE: Lo script bash non esegue il ciclo while - da Sargon6 - 22/10/2023, 17:12

Vai al forum:


Utenti che stanno guardando questa discussione: 3 Ospite(i)