안녕하세요 cipricus 또는 도움을 주실 수 있는 분.
이제 막 사용하기 시작했어요데드비프 콘키 진행률 표시줄키프리쿠스에 의해
아주 좋은 스크립트라고 말하고 싶지만... deadbeef가 중지되면 진행률 표시줄에 숫자가 표시되는 문제가 발생했습니다. 아래 그림에서 알 수 있듯이.
플레이어가 실행 중인 경우... 진행률 표시줄과 관련하여 모든 것이 올바르게 표시됩니다. 플레이어가 중지된 경우에도 진행률 표시줄을 표시할 수 있는 제안이나 해결 방법이 있습니까?
다시 한 번 감사드립니다!
답변1
테스트할 프로그램은 없지만 deadbeef
중지하면 옵션이 --nowplaying
"nothing"이라는 문자열을 반환하는 것 같습니다. awk 스크립트에서는 이를 두 번 요구하므로 0으로 나누기 오류를 반환해야 합니다. 그러나 -2147483647
이 경우 awk가 반환됩니다.
문자열을 확인하고 마지막에 0으로 나뉘는지 확인하여 대처하기 위해 awk 스크립트를 다음과 같이 편집해 볼 수 있습니다.
#!/bin/bash
deadbeef --nowplaying "%e %l" |
awk '
/nothing/{ print "0";exit }
{ n = split("::" $1,t,":")
elapsed = (t[n-2]*60+t[n-1])*60+t[n]
n = split("::" $2,t,":")
total = (t[n-2]*60+t[n-1])*60+t[n]
if(total==0)total = 1
printf "%d\n",elapsed*100/total
}'