Thomas Orgis, mpg123 разработчик и специалист по обслуживанию, просто реализовал эту функциональность в mpg123 (как сценарий, названный 'conplay') в моем запросе.
Его описание:
Эта небольшая обертка выполняет mpg123 на данном каталоге (рука в'.' для текущей), играя весь *.mp [123] файлы там в терминальном режиме управления. Дополнительный прием - то, что файл (conplay.m3u) плей-листа читается и обновляется (созданный) с положением, которое Вы оставили воспроизведение в (через 'q' ключ), для возврата на следующем вызове.
Имя обозначает Длительное Воспроизведение. Что Вы думали?;-)
Я думаю, что это является блестящим! Это делает точно, что я попросил в моем вопросе выше. Я использовал все это день, и это работает безупречно. Я не мог быть более счастливым!
Можно получить его из http://mpg123.org/snapshot
Спасибо Thomas!
Необходимо инициализировать возвращаемое значение к временной переменной. таким образом как это:
./my_expect_script.expect
a=$?
if [ $a -eq 0 ]; then
echo -e "\n"
echo "Password successfully changed on $host by $user"
elif [ $a -eq 1 ]; then
echo "Failure, password unchanged"
elif [ $a -eq 2 ]; then
echo "Failure, new and old passwords are too similar"
elif [ $a -eq 3 ]; then
echo "Failure, password must be longer"
else
echo "Password failed to change on $host"
fi
Более простой путь состоял бы в том, чтобы использовать a case
оператор вместо проверки $?
неоднократно:
case "$?" in
0) echo "Password successfully changed on $host by $user" ;;
1) echo "Failure, password unchanged" ;;
2) echo "Failure, new and old passwords are too similar" ;;
3) echo "Failure, password must be longer" ;;
*) echo "Password failed to change on $host" ;;
esac