2015-01-06 3 views
0

내 코드가 잘 다음 다음 날 나는불법 번호 - 그것은 초 이내에 아마도 수 08 쉘 스크립트

./Desktop/audiolog.sh: 32: [: /proc/: unexpected operator 

./Desktop/audiolog.sh: 13: ./Desktop/audiolog.sh: Illegal number: 08 

얻을 일하고 있습니까? 모든 포인터는

#!/bin/sh 

DAY=$(date +%d)       
MO=$(date +%m)        
YR=$(date +%y)     
SE=$(date +%S)        
H=$(date +%H)               
M=$(date +%M) 

NOW=$(date) 

DURATION=$(((60 - M) * 60-SE)) 

PART=$(find /mnt/hgfs/Audio\ Log/ -type f -name "RBLoggerAudio ${DAY}-${MO}-${YR}\ ${H}*" | wc -l) 

reset 

echo "Recording for $DAY $MO $YR - $H 00" 
echo "Started at $NOW" 
echo "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -" 

if [ "$PART" -eq 0 ] 
then 
    arecord -f cd -c 1 -d$DURATION -t raw -v -v | lame -b 64 -q8 -mm -r - /mnt/hgfs/Audio\ Log/"RBLoggerAudio "$DAY-$MO-$YR\ $H"00".mp3  
else 
    arecord -f cd -c 1 -d$DURATION -t raw -v -v | lame -b 64 -q8 -mm -r - /mnt/hgfs/Audio\ Log/"RBLoggerAudio "$DAY-$MO-$YR\ $H"00 - Part - "$PART.mp3 
fi 


pid=$(ps -opid= -C audiolog.sh) 
while [ -d /proc/$pid ] ; do 
    sleep 1 
done && ./Desktop/audiolog.sh 

답변

0

변경 정말

while [ -d "/proc/$pid" ] ; do 
+0

while [ -d /proc/$pid ] ; do 

큰 감사가 될 것인가? 작은 따옴표? – Jdamian

+0

@ Jdamian과 fedorqui에게 감사의 말을 전합니다. 나는 그에 따라 편집했다. – Skynet

+0

'$ pid'앞에는 공백이 있습니다 (처음부터 실패한 이유입니다). 이 테스트는'/ proc/1234' (공백 포함) 디렉토리가 있는지 확인하고 항상 false를 반환합니다. – Wintermute

관련 문제