#!/bin/sh -eu prev2=-1 prev1=$prev2 index=$prev1 while :; do files=$(find "${1:-.}" -type f) n=$(echo "$files" | wc -l) while [ $index -eq $prev2 ] || [ $index -eq $prev1 ]; do index=$((RANDOM % n)) done prev2=$prev1 prev1=$index echo "$files" | ( i=0 while read -r file; do if [ $i -eq $index ]; then echo "Playing $file" mpv --no-video "$file" || : break fi i=$((i + 1)) done ) done