0
Мой код работает нормально, то на следующий день я получаюIllegal Number - Shell Script
./Desktop/audiolog.sh: 32: [: /proc/: unexpected operator
./Desktop/audiolog.sh: 13: ./Desktop/audiolog.sh: Illegal number: 08
Это, возможно, число 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
на самом деле? одинарные кавычки? – Jdamian
Спасибо и @Jdamian и fedorqui, чтобы упомянуть об этом. Я отредактировал соответственно. – Skynet
В передней части '$ pid' есть пробел (именно по этой причине это не удается). Этот тест проверяет, существует ли каталог '/ proc/1234' (с пробелом) и всегда будет возвращать значение false. – Wintermute