Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Новый участник


Сообщения: 9
Благодарности: 1

Профиль | Отправить PM | Цитировать


Ситуация такая:
Поставил RedHat Enterprise Linux 3 в минимальной конфигурации.
Потом решил доустановить X. Пришлось в одной консоли в vi открыть файлик comps.xml, в котором описаны все пакеты дистрибутива, а в другой консоли для каждого нужного мне пакеты рачками исполнять rpm -i ...
Быстро понял, что это очень геморно и решил научиться-таки пользоваться базовами иниксовыми инструментами. Вот и сваял такую командочку:
Код: Выделить весь код
cat ../base/comps.xml | sed '0,/base-x/d' | sed '0,/packagelist/d' | sed '/packagelist/,$d' | grep mandatory | sed s/.*\"\>/"find . -name \""/ | sed s/\<.*/"-\[0-9]*\" -exec rpm -ivh --aid {} \\\;"/
Эта штука выдает на консоль результат:
Код: Выделить весь код
   find . -name "bitmap-fonts-[0-9]*" -exec rpm -ivh --aid {} \;
   find . -name "desktop-backgrounds-basic-[0-9]*" -exec rpm -ivh --aid {} \;
   find . -name "switchdesk-[0-9]*" -exec rpm -ivh --aid {} \;
   			    ....... output trancated ........
А когда я свою командочку обрамляю ``, то эта сволочь не работает ((
Пробывал по совету Yura :
Код: Выделить весь код
cat ../base/comps.xml | sed '0,/base-x/d' | sed '0,/packagelist/d' | sed '/packagelist/,$d' | grep mandatory | sed s/.*\"\>/"\`find . -name \""/ | sed s/\<.*/"-\[0-9]*\" -exec rpm -ivh --aid {} \\\;\` ;"/
теперь эта штука выдает:
Код: Выделить весь код
   `find . -name "bitmap-fonts-[0-9]*" -exec rpm -ivh --aid {} \;` ;
    `find . -name "desktop-backgrounds-basic-[0-9]*" -exec rpm -ivh --aid {} \;` ;
   `find . -name "switchdesk-[0-9]*" -exec rpm -ivh --aid {} \;` ;
   			    ....... output trancated ........
Но она все равно не запускается с помощью ``. Только теперь ругается по другому. Если в первоначальном варианте проблема была в том, что все строки воспринимались системой как аргументы первого find, то теперь на исполнения идут не команды find, промежуточный результат получившийся после предпоследненго sed-а.

Как же мне все-таки запустить на исполнение мои find-ы?
Я нашел только одно решение - сохранить их в файлик, сделать его исполняемым и запускать уже файлик. Этот вариант полностью работает, но это неспортивно, обходной маневр - а я то хочу начиться пользоваться базовами инструментами.

Помогите запустить мои find-ы!!!

Отправлено: 06:51, 02-10-2005 | #6