#!/bin/sh while true do file=$(find . -maxdepth 1 -mindepth 1 -not -name '.*' -printf '%y\t%f\n' | sort -k 1 -k 2 | cut -f 2- | commander -xcd -p "$PWD>") [ "$file" ] || break [ ! -e "$file" ] && continue if [ -d "$file" ] then cd "$file" || continue else setsid xdg-open "$PWD/$file" & fi done