-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 07/09, Chris Walker wrote:
for FILE in *.mp3 do bname=$(basename "$FILE") extension="${bname##*.}" filenamewoext="${bname%.*}" imagefile="${filenamewoext}.png" echo adding cover image ... eyeD3 --add-image $imagefile:FRONT_COVER:Picture "$FILE"
echo Stripping any version 1 tags id3v2 --delete-v1 "$FILE" # Now for a tidy up and delete the original image file # search and add image img=$(id3v2 -l "$FILE" | grep -i "APIC") if $img =""; then echo "Adding the image failed" exit 1 else rm -f $imagefile fi
done
The problem comes in the tidy up section. I don't want to delete the image file if adding it has failed but even though I'm getting an error "mp3image.sh: line 47: APIC: command not found", the image is still being deleted.
You can use the special bash variable `$?` to get the return code of the last command that run. This means you can do something like: img=$(id3v2 -l "$FILE" | grep -i "APIC") if [ $? -ne 0 ]; then # clean up from failure fi Steve -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJV7WPEAAoJEL/3HArzwYbRz4EP/RmlxsflezqptZ+kT1w7uSFH FtDy6LVDi48qpKRA/3gU+waE3aJWhnJA7cgy1QKK2YHf/Z8/zRa89YNXr3NqDc3E Ik1xv6SY9qtrRx5EySYPRGdn+Xfs7k2DxhvGh/aTfVd5zMLunRSjs+OPMO/aYPOr 2HX/wsV7HWpsTdI6mpjDZd+Uvct/GbCHSP23AFFhAwP+l0DUUI5mQloHhGekpass C+5OpJmlfwt6qUyfotuVP4vupVCIBwFbvd9y01pjVkwaZi37dFkQRWWUujDlZ/9a 14tRqdzs8R53nC64NA5pcIMU0ev4heIrZLSbnlcRz1YxR4VOpejsloTGTmTgXtqU cCPT/DU8qGRMV+senJZ/nhB3f5DuHeTAmINdQwQHwrDAeLPQQZMgT5WExMX1UUEk vPkunCAuytNPho2q3b5DaANmtsIFNtcaO4Zb8a4gMPFWwAJATGZLpqdJ5iyK+Y17 x3p73jWQJFtovJbz7eU/1qMSAWsg3J4NSTSqfR7ie0yMrgA7KSe4bIRJz653ttrp PCn65FXKE8IMLQ/V6wvAG1pCzB+lCUuhJU9iHz8+COTLK13+jA0PPmsEtiFe1UyM 28yoYjfCJqFa7PlODodRCLbUvPBg+je6L6i4FUdHLtAC2mW8bNjO6/pduKufOfOz f3IizoOTmPbCL7OrOam6 =bDY9 -----END PGP SIGNATURE-----