Я пытаюсь написать сценарий оболочки, который проверяет, содержит ли данный каталог специально названный подкаталог. Я передаю родительский каталог как первый аргумент и только имя дочернего каталога. Я хочу, чтобы скрипт прошел через содержимое родителя и посмотрел, содержит ли он файл типа directory, который называется с именем, которое я передаю для Child.Проверьте, содержит ли каталог конкретный подкаталог
Это мой код. В нем я пытаюсь передать вывод ls
на родительский элемент в команду egrep
. Я пытаюсь написать регулярное выражение, которое проверяет, имеет ли вывод ls
имя, которое совпадает (не идентично, только где-то в его имени) мое дочернее имя.
PARENT=$1
CHILD=$2
DIRNUM=$(ls -l $PARENT | egrep -c '< $CHILD >')
echo $DIRNUM
Добавить слэш в пути, чтобы убедиться, что это действительно каталог (а не файл). Или используйте -d тест, а не -e. – jwatkins
Вы можете сотрудничать немного дальше о том, как это работает? –
@jwatkins Действительно. Я пропустил часть «ребенок - это каталог» в OP. –