В bash вы заканчиваете for блоки с помощью done, например:
for f in *.jpg
do
gsettings set org.gnome.desktop.background picture-uri "file:$f"
done
Кроме того, добавьте двойные кавычки вокруг $f, если некоторые имена файлов содержат пробелы.
Обратите внимание, что я думаю, что с помощью find можно сделать то, чего вы пытаетесь достичь:
find $imageDir -maxdepth 1 -type f -name "*.jpg" -exec gsettings set org.gnome.desktop.background picture-uri file:{} \;
Заменить $imageDir на путь к папке, которую вы хотите найти. Или, если вы хотите запустить команду в локальном каталоге, вы можете сделать это следующим образом:
find -maxdepth 1 -type f -name "*.jpg" -exec gsettings set org.gnome.desktop.background picture-uri file:$PWD/{} \;
Спасибо поместите двойные кавычки вокруг $f , чтобы напомнить мне о [ f9].