Написал shell скрипт под Ubuntu 11.10. Помогите найти ошибку, а то не выдает результат...

программирование Linux ubuntu bash shell

Запускаю его так:

sudo /bin/bash "путь к файлу.sh" /home /bin /home

Вот код:

if [ -f f1 ]
then rm -f f1
fi
i=0
if [ $# -ne $i ]
then for i in "$@"
do
echo $i >> f1
done
sort f1 | uniq > f1
for i in $(cat f1)
do
echo $i
if [ test-d&$i ]
then ls -n $i | grep '^-'
else echo Каталог $i не существует
fi
done
else echo Нет параметров
fi


В результате программа должна вывести файлы в /bin и в /home


Примечание:
"ls -lR /bin /home, не?"

Мне нужно принимать несколько параметров (могут повторяться)
Если повторяются, то повторы нужно исключить

Примечание:
Сделал вот так (решил убрать проверку папка или нет):

if [ -f f1 ]
then rm -f f1
fi
if [ -f f2 ]
then rm -f f2
fi
i=0
if [ $# -ne $i ]
then for i in "$@"
do
echo $i >> f1
done
sort f1 | uniq >> f2
rm -f f1
echo ---------------------------------
for i in $(cat f2)
do
echo Файлы в каталоге $i:
echo ---------------------------------
find $i -maxdepth 1 -type f
echo ---------------------------------
done
else echo Нет параметров
fi
Ответы:


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.