나는 가지고있다:
/home/wms/mp3/
그리고
/home/wms/tmp/
~/tmp에서 내 스크립트는 다음과 같습니다.
#!/bin/bash
br=64
for a in "$1"*.mp3 ;
do ffmpeg -i "$a" -ar 44100 -ab $br "$br""_tmp/${a%.*} ["$br"].mp3" ; done
나는 다음을 원한다:
/home/wms/tmp/./script.sh /home/wms/mp3/
1달러로 무엇을 하나요?
"@1"은 /home/wms/mp3/first1과 일치하기 때문입니다.
${a%.*} 확장 파일 자르기
하지만 경로가 잘못되었습니다. 이 스크립트는 ~/mp3 내부에서 실행하는 경우에만 실행됩니다.
답변1
basename $a를 사용하여 파일 이름을 추출한 다음 임시 디렉터리를 사용하여 경로를 만듭니다.
#!/bin/bash
br=64
mkdir -p _tmp
for a in "$1"*.mp3 ; do
aux=$(basename ${a})
ffmpeg -i "$a" -ar 44100 -ab $br "$br""_tmp/${aux%.*}_["$br"].mp3"
done