Primeiro, e mais importante, não use nomes de variáveis maiúsculas. Você corre o risco de substituir variáveis de ambiente e variáveis de shell especiais e, nesse caso, você fez exatamente isso sobrescrevendo a variável PATH
.
Segundo. As citações são muito importantes no script de shell; citando expansões de variáveis evita que o resultado seja submetido a expansão de nome de caminho e divisão de palavras.
Por exemplo, se var="St. Elmo's Fire.mpg"
, $var
se tornará as três palavras St.
, Elmo's
e Fire.mpg
, enquanto "$var"
se tornará a única palavra St. Elmo's Fire.mpg
. Então sempre cite expansões variáveis. "$var"
, não $var
.
Algo como isso deve ser mais correto:
#!/bin/bash
read -ep "Enter path for the .mpg-file: " file
IFS=: read -rp "Where should the trimming start? (HH:MM:SS): " shour smin ssec
IFS=: read -rp "When should the trimming end? (HH:MM:SS): " ehour emin esec
read -rp "What song is it? " title
read -rp "Who sang it? " artist
read -rp "Which album?" album
start=$(( shour*3600 + smin*60 + ssec ))
end=$(( ehour*3600 + emin*60 + esec ))
duration=$(( end - start ))
ffmpeg -i "$file" -t "$duration" -acodec copy -vcodec copy -metadata "title=$title" \
-metadata "author=$artist" "$title · $artist.mpg"
Seu comando ffmpeg tinha -ss "$ANFANG"
, mas ANFANG
nunca foi definido em seu script, então omiti isso.