Написал небольшой скриптик, сколько не для практического применения (хотя и для практического тоже) сколько для треннировки. Вот скрипт:
#!/bin/bash
down_folder=/home/vlad/Загрузки
pic_folder=/home/vlad/Картинки
cd "$down_folder"
pictures=`ls -1 | grep -E 'jpg$|png$'`
#echo "$pictures"
if [ -n "$pictures" ]; then
for pic in "$pictures"; do
mv "$pic" "$pic_folder" && echo "Файл $pic перемещён в $down_folder"
done
else echo "В каталоге $down_folder нет изображений"
fi
При его запуске консоль говорит:
[console]vlad@vlad-desktop:~/Рабочий стол/Admin_Linux/script_download$ ./download_2
mv: невозможно выполнить stat для «jpg.png\ntux_grande.png\nСнимок.png»: Нет такого файла или каталога[/console]
Я так понял что проблемма в управляющем символе превода строки (\n). Почему он вылезает? Если просто проверить список файлов
echo "$pictures"(щас он закоменован) то всё ок, а в скрипте появляется \n.