Развертывание MAAS застряло в iscsistart, подключенном без маршрута: 3260 не прошел маршрут до хоста

Сначала базовый синтаксис bash: цикл for заканчивается зарезервированным словом done.

for f in *.jpg
do 
    gsettings set org.gnome.desktop.background picture-uri file:$f
done

Кроме того $f - относительный путь - это имя файла в текущем каталоге , Но, как заметил Фейрай, имя файла не будет значимым из контекста. Вам необходимо предоставить абсолютный путь. Вы можете сделать это легко с переменной PWD, которая всегда содержит путь к текущему каталогу. Обратите внимание, что для URL file:// требуется два слэша для индикатора :// плюс косая черта для корневого каталога, который запускает путь, к которому относится $PWD.

for f in *.jpg
do 
    gsettings set org.gnome.desktop.background picture-uri file://$PWD/$f
done

Это еще не все. Если какое-либо имя файла содержит пробел, ваш скрипт не будет работать. Чтобы избежать этой ловушки, feyray заметил (всегда ставьте двойные кавычки вокруг переменных подстановок).

for f in *.jpg
do 
    gsettings set org.gnome.desktop.background picture-uri "file://$PWD/$f"
done

1
задан 25 September 2017 в 16:18

0 ответов

Другие вопросы по тегам:

Похожие вопросы: