#bash
#баш
Вопрос:
Если я вызову эту функцию с помощью ./usr и получу файл с неправильным именем meowmeowmeow11 в каком-нибудь подкаталоге. Как я могу просто вывести /usr/cat/meowmeowmeow111, а не полный путь.
func() {
names=`ls -A $1 | sort`
for name in $names
do
if [[ -d $name ]]; then
if [ -r $name ]; then
cd $name
func "."
cd ..
else
echo "Lack of permission to read a subdirectory."
fi
else
if [[ ${#name} -gt 14 ]]; then // Check if name is over 14 characters
realpath $name // Not sure
fi
fi
done
}
Комментарии:
1. Почему бы не выполнить синтаксический
ls
анализ?2. Что вы хотите, чтобы оно выводило? разве
/usr/cat/meowmeowmeow111
уже не указан полный путь?3. Например: если я передам ./func ./lab1/ lab2. Я должен вернуть /lab1/lab/meowmeowmeow111, а не полный путь от корня