Книга: Искусство программирования на языке сценариев командной оболочки
Пример 10-10. Список символических ссылок в каталоге
Пример 10-10. Список символических ссылок в каталоге
#!/bin/bash
# symlinks.sh: Список символических ссылок в каталоге.
directory=${1-`pwd`}
# По-умолчанию в текущем каталоге,
# Блок кода, который выполняет аналогичные действия.
# ----------------------------------------------------------
# ARGS=1 # Ожидается один аргумент командной строки.
#
# if [ $# -ne "$ARGS" ] # Если каталог поиска не задан...
# then
# directory=`pwd` # текущий каталог
# else
# directory=$1
# fi
# ----------------------------------------------------------
echo "символические ссылки в каталоге "$directory""
for file in "$( find $directory -type l )" # -type l = символические ссылки
do
echo "$file"
done | sort # В противном случае получится неотсортированный список.
# Как отмечает Dominik 'Aeneas' Schnitzer,
#+ в случае отсутствия кавычек для $( find $directory -type l )
#+ сценарий "подавится" именами файлов, содержащими пробелы.
exit 0
Вывод цикла может быть перенаправлен со stdout в файл, ниже приводится немного модифицированный вариант предыдущего примера, демонстрирующий эту возможность.
- Пример 10-1. Простой цикл for
- Пример 10-2. Цикл for с двумя параметрами в каждом из элементов списка
- Пример 10-3. Fileinfo: обработка списка файлов, находящегося в переменной
- Пример 10-4. Обработка списка файлов в цикле for
- Пример 10-5. Цикл for без списка аргументов
- Пример 10-6. Создание списка аргументов в цикле for с помощью операции подстановки команд
- Пример 10-7. grep для бинарных файлов
- Пример 10-8. Список всех пользователей системы
- Пример 10-9. Проверка авторства всех бинарных файлов в текущем каталоге
- Пример 10-10. Список символических ссылок в каталоге
- Пример 10-11. Список символических ссылок в каталоге, сохраняемый в файле
- Пример 10-12. C-подобный синтаксис оператора цикла for
- Пример 10-13. Работа с командой efax в пакетном режиме
- Пример 10-14. Простой цикл while
- Пример 10-15. Другой пример цикла while
- Пример 10-16. Цикл while с несколькими условиями
- Пример 10-17. C-подобный синтаксис оформления цикла while
- Пример 10-18. Цикл until
- Пример 10-5. Цикл for без списка аргументов
- Пример 10-2. Цикл for с двумя параметрами в каждом из элементов списка
- Пример 10-16. Цикл while с несколькими условиями
- Пример 10-1. Простой цикл for
- Пример 10-3. Fileinfo: обработка списка файлов, находящегося в переменной
- Пример 10-4. Обработка списка файлов в цикле for
- Пример 10-6. Создание списка аргументов в цикле for с помощью операции подстановки команд
- Пример 10-7. grep для бинарных файлов
- Пример 10-8. Список всех пользователей системы
- Пример 10-9. Проверка авторства всех бинарных файлов в текущем каталоге
- Пример 10-11. Список символических ссылок в каталоге, сохраняемый в файле
- Пример 10-12. C-подобный синтаксис оператора цикла for