내 인생에서 왜 mediainfo - 정보 명령을 배열에 저장할 수 없는지 알 수 없습니다. 전에 Bash에서 루프를 만들었습니다. 아마 여기에 정말 분명한 것을 놓치고있을 것입니다. 또는 아마도 나는 그것에 대해 완전히 잘못된 길을 가고 있습니다.mediainfo 비디오 출력의 출력을 배열에 저장하는 데 문제가 발생했습니다.
#!/bin/bash
for file in /mnt/sda1/*.mp4
do vidtime=($(mediainfo --Inform="Video;%Duration%" $file))
done
echo ${vidtime[@]}
출력은 항상 루프에서 처리되는 마지막 파일의 시간이며 배열의 나머지 요소는 null입니다.
나는 라스베리 파이에서 비디오를 끝없이 재생하기 위해 스크립트 작업을하고 있지만, 비디오 끝에 항상 omxplayer가 나오지는 않는다는 것을 알기 때문에 재현하기가 정말 힘들어서 포기했습니다. 근본 원인을 해결하는 방법 내가해야 할 것보다 오래 실행중인 모든 omxplayer 프로세스를 죽일 논리를 세우려고합니다.
고쳐 주셔서 감사합니다! 이 경우 + = 연산자가 필요한 이유는 무엇입니까? 나는 과거에 언급 한 예들 중 어떤 것에도 사용 된 것을 보지 못합니다. – ErichL
한 번에 하나씩 파일 세트의 mediainfo 명령을 반복하므로 vidtime 배열이 계속 재설정되므로 배열의 마지막 파일 만 볼 수있는 이유가 설명됩니다. – brianlq