RokokoLite
@RokokoLite
Помешан на математике и анализе данных

Как реализовать рекурсивный поиск в bash?

Я совсем недавно открыл для себя баш скрипты, не судите строго
#!bin/bash

cd $1
for i in $(ls)
do
f=./$i
if [ -f $f ]
then
echo $i
cat -n $f
echo "
-----------------------------------------------
"
else
echo "$i
-----------------------------------------------
"
$(allinfo $f)
echo "
-----------------------------------------------
"
fi
done


Также в aliens есть команда его запуска
Проблема в том, что при обнаружении папки выскакивает такое вот сообщение:

dir2rm
-----------------------------------------------

/home/rokoko/mycommands/allinfo.sh: строка 18: allinfo: команда не найдена


-----------------------------------------------

queen.py
1 def func(x1, y1, x2, y2):
2 desc = range(1, 8)

Подскажите пожалуйста, как сделать так, чтобы при обнаружении папки скрипт вызывал сам себя для этой же папки, то есть работал рекурсивно и не выдавал ошибку?
  • Вопрос задан
  • 186 просмотров
Решения вопроса 1
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Например любой из вариантов:
  • Указать полный путь к файлу
  • Вычислить путь к файлу относительно текущего каталога и указать его
  • Добавить алиас для скрипта
  • Добавить путь к скрипту в PATH
  • Определить функцию с рекурсией и вызывать её, передавая нужные параметры как аргументы
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
$(/bin/sh "${0}" "${f}")
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы