|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Ruslan Kosolapov 2:5020/400 17 Apr 2007 08:27:21 To : Zahar Kiselev Subject : Re: XFree -> XOrg -------------------------------------------------------------------------------- ==[ Zahar -> Artem: ZK>>> А что тут еще сказать подробнее? Hа уровне рядового юзера, ZK>>> владеющего средствами шелла на уровне институтского курса, типа ZK>>> меня, кроме скриптовой обертки вокруг наиболее критичных команд ZK>>> - ничего предложить не могу. AC>> Ты и скриптовую обертку, решающую поставленную задачу, пока не AC>> смог предложить. Подмену задачи не предлагать. ZK> Hе то чтобы подмену, а _уточнение_. Для обработки строк, где было ZK> нежелательно пролезание дальше в конвейер "ошметков", но ZK> допустима выдача "конца файла" - я делал. А тебе не про это говорят. ZK> И рестарт с нужной позиции при перезапуске эта же обертка делала ZK> - на выход просто ничего не проходило пока до нужного места не ZK> дойдет. В случае таких ответственных операций как бэкап - лично ZK> я со своей квалификацией(я и не спорю что она ниже твоей) ZK> предпочел бы просто не использовать конвейер, именно из-за ZK> сложности с обработкой возможных ошибок, о чем я тоже написал. Hу давай я щаз придумаю, почему обязательно надо конвейер. Hапример, так - конвейер у нас идёт через ssh, потому что на src машине места не хватает на диске для тех данных, которые надо обработать и положить на dst машину. Кроме ssh все порты закрыты. AC>> А зачем? Если достаточно воспользоваться шеллом, который то, AC>> что надо, умеет тривиальным образом, и на который, собственно, и AC>> указывает симлинк /bin/sh на той системе, на которой решается AC>> эта задача? ZK> Это какой шелл умеет обрабатывать коды возврата внутри конвейера ZK> и самое главное - _что_ он при этом делает? Ты уже не можешь посмотреть, куда у тебя /bin/sh указывает? ;) $ ls -l /bin/sh lrwxrwxrwx 1 root root 4 2006-12-24 12:08 /bin/sh -> bash Hу и, например, относительно кодов возврата команд конвейера (не решение задачи, а просто по теме): $ man bash | grep -A4 PIPE Reformatting bash(1), please wait... PIPESTATUS An array variable (see Arrays below) containing a list of exit status values from the processes in the most-recently-executed foreground pipeline (which may contain only a single command). $ echo qwe.asd | grep rrr | sed -e 's/sdf/ggg/'; echo ${PIPESTATUS[@]:0} 0 1 0 AC>> Только потому, что тебя в институте этому шеллу не учили? AC>> Извини, не аргумент... ZK> Еще как аргумент - для этого надо как минимум вообще предполагать ZK> возможность существования этого в шелле. Объем же документации в ZK> современном линуксе такой, что найти там что-то невозможно если ZK> не знаешь что именно искать. У тебя вся информация есть - речь про bash, про pipe, про errcodes. ZK> Я вот немало прочел учебных статей по программированию на баше ZK> например(как наиболее близком к sh, которому меня учили), но ZK> нигде ничего подобного не попадалось. Advanced Bash Scripting читал? Или всякую фигню с citforum.ru? ZK> А вообще я вижу, что Уважаемые Гуру совершенно не представляют ZK> себе то, как в линуксе живут пользователи некой средней ZK> квалификации типа меня. У тебя не средняя квалификация, а задачи нетипичные. Hе путай эти понятия ;) ZK> Хотя этой весной исполнилось 10 лет как я поставил свой первый ZK> линукс в эксплуатацию. Это ничего не означает. Я в 2002 пришёл в линукс, и что? -- =[ В принципе, для футболистов, футбол - дело привычное. =[ -- футбол на ОРТ --- ifmail v.2.15dev5.3 * Origin: SWSoft Novosibirsk, QA Department Second Manager (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/20595d63462a5.html, оценка из 5, голосов 10
|