Не разбирайте ls! Вместо этого используйте glob:
for name in ./*; do
Есть и другие способы улучшить скрипт.
В цикле снова не разбирайте ls. Вместо этого используйте stat, чтобы получить разрешения напрямую.1 Используйте синтаксис замены новой команды $(...) вместо устаревших обратных ссылок `...` Определите переменную $perms, чтобы сделать строку печати немного более чистой и удобной для чтения.Итак:
for name in ./*; do
perms="$(stat -c "%A" "$name")"
echo "The file $name has the following permissions: $perms"
done
Сноски:
В цикле снова не разбирайте ls. Вместо этого используйте stat, чтобы получить разрешения напрямую.1После этого мне удалось запустить sudo apt-get -f install:
sudo apt-get update
sudo apt-get remove gnome-backgrounds
sudo apt-get remove --auto-remove gnome-backgrounds
sudo apt-get remove gnome-session
sudo apt-get autoremove
sudo apt-get update
sudo apt-get dist-upgrade
После этого мне удалось запустить sudo apt-get -f install:
sudo apt-get update
sudo apt-get remove gnome-backgrounds
sudo apt-get remove --auto-remove gnome-backgrounds
sudo apt-get remove gnome-session
sudo apt-get autoremove
sudo apt-get update
sudo apt-get dist-upgrade
После этого мне удалось запустить sudo apt-get -f install:
sudo apt-get update
sudo apt-get remove gnome-backgrounds
sudo apt-get remove --auto-remove gnome-backgrounds
sudo apt-get remove gnome-session
sudo apt-get autoremove
sudo apt-get update
sudo apt-get dist-upgrade