LINUX.ORG.RU

Классический UNIX-way или «компьютер для профессионала»


0

0

В процессе написания статьи для свободного сборника <<Дары Свободы -- Свободное программное обеспечение: прошлое, настоящее, будущее>> решил, что больше пользы будет, если в процессе написания я учту ваши комментарии, пожелания, мысли и идеи.

>>> Подробности

Ответ на: комментарий от jackill

Ку

4jackill:
>А вместо
>#!/bin/bash все нормальные люди пишут #!/bin/sh, ибо симлинк sh на
>bash прокинут по-умолчанию.

Уй, мадам, натурально вы не понимаете.
Все нормальные скрипты пользуют в качестве интерпретатора /bin/sh _именно_ для переносимости, и не для чего больше. Думать, что bash станет "стандартом де-факто" из-за того, что он прижился в ленуксе - верх наивности. Не станет. Ушизвенити.

Хочешь прослыть упёртым ленуксоидом, не видящим дальше собственного носа - пиши в скриптах #!/bin/bash, но не жалуйся, что твой супер-пупер скрипт, делающий сто и одно доброе дело, почему-то не пользуют нигде, кроме ленукса.

Писать же #!/bin/sh, на основании, того, что у кого-то, видитили, это симлинк на /bin/bash и при этом пользоваться bash-extension - за такое вообще нужно закрывать на ночь в клетке с голодным Луговским.

//Losiki

anonymous
()
Ответ на: комментарий от jackill

Ну вот, только я тебя похвалил, а ты с больной головы на здоровую...

> Ну лично я не люблю, когда у меня что-то дублируется

Вот это резонно, респект. Но! У многих есть скрипты, которые постоянно висят в памяти (за процессами там следят, или sleep в цикле крутят), взять хоть родной сквидовый RunCache. Да, конечно, сегмент кода будет общим с интерактивным шеллом (а он такой же? и постоянно запущен?), но сегмент данных у bash заметно больше, чем весь Korn shell.

> Опять же, тут уже вопрос привычки - тот же bash можно собрать где угодно

Хм. Прямо сплю и вижу требования к start-up скрипту какого-нибудь SuperGlukonator'а: "requires bash 2.05b0(1)-release". И как ты будешь объяснять желающим попользовать ЭТО на солярке: "ну, системные требования такие. поставьте gcc, gmake, libutil, autoconf, automake, bash". Моя смешно.

ЗЫ. Кстати, все те "#!/bin/sh" скрипты с башизмами, которые я видел, приводились в нормальное состояние правкой максимум двух-трех строчек. Как и многие поделия начинают собираться после перестановки пары инклудов, или добавления types.h или stdlib.h|stdio.h. Тоже показательно.

Baka-kun
()
Ответ на: комментарий от Baka-kun

а как можно узнать, что такок башизм? как избегать этого? есть ли где-то список функций присущих только башу?

anonymous
()
Ответ на: комментарий от Baka-kun

> Хм. Прямо сплю и вижу требования к start-up скрипту какого-нибудь SuperGlukonator'а: "requires bash 2.05b0(1)-release". И как ты будешь объяснять желающим попользовать ЭТО на солярке: "ну, системные требования такие. поставьте gcc, gmake, libutil, autoconf, automake, bash". Моя смешно.

Любой стартовый сткрипт элементарно правится, как вы сами заметили. Поставить bash не из сырцы, а уже собранный тоже нет проблем. В той же FreeBsd ставится из портов (как и многое другое, что вы доустанавливаете в системе после инсталляции). Для Соляриса полно сборок в Инете из достаточно "доверительных" источников, если только вы не параноик. Я например доустанавливю, времени это требует 1 минуту. А вот проверка как это будет работать в "стандартных" шелах разных UNIX'ов займет у автора побольше времени, да и возможность такая не всегда имеется. Автор использует bash и честно пишет #!/bin/bash Все мы свободные люди? Вот и решайте, что вам нужно. Между прочим все это применимо не только к bash. Гнутый awk - тоже отличается от awk в Солярке. И другие утилиты. Не знаю как сейчас, но не было в каком-то там версии у awk в Солярис ключа -v var (может сейчас есть). И что? Нам сечас довести Линукс "до ума"/уровня UNIX-систем начала 90-х годов прошлого века? Постоянно декларируется, что Линукс необходимо развивать как десктоп. И это не только красиво-удобные WM/****E. Не будет все законсервировано (включая утилиты) в том состоянии, как это было 10-20 лет назад. korn-shell вспомнили. Давайте еще к традишнл Си откатимся.

anonymous
()
Ответ на: комментарий от Baka-kun

2Baka-kun

..ну и напоследок.

Статья, рекомендующая переходить на bash - "Moving to Bash as Your Shell"

Cсылка на нее стоит с http://www.sun.com/bigadmin/collections/migration.html

Так что не все соляриствы, разделяют ваше мнение мол надо "давить башизмы" :)

Ссылочки на бинарники bash для Solaris-7/8/9 там приводятся. Заодно и на все вышепречисленные вами утилиты.

anonymous
()
Ответ на: комментарий от anonymous

Кстати, господа башисты.

Приведите пример хотя бы одного bash-extension, без которого вы себе жизни в скриптописательстве не мыслите?

//Losiki

anonymous
()
Ответ на: Ку от anonymous

>>Не станет. Ушизвенити.

Угу,

640кб достаточно для всего. Это просто для развлечения. Скорее всего, система никогда не станет большой и будет только на i386...

Еще примеров надо?

Дело в том, что у меня скрипты:
a) простые
б) когда я их пишу, я пользуюсь докой по sh.

Поэтому bash'измы не могу употребить при всем желании - я их просто не знаю.

>что у кого-то, видитили, это симлинк на /bin/bash

Не у кого-то, а практически у всех.

jackill ★★★★★
()
Ответ на: комментарий от Baka-kun

> Но! У многих есть скрипты, которые постоянно висят в памяти (за процессами там следят, или sleep в цикле крутят)

Это уже другой момент. Когда удобнее sh, дык и надо использовать sh - это же не винды.

P.S. Насчет солярки я не в курсе, но пара моих знакомых всегда первым делом на солярку ставили gcc, gmake и т.п.

jackill ★★★★★
()
Ответ на: комментарий от anonymous

Да не в этом дело, а в том, что зачем разводить помойку из десяти оболочек, если это некритично.

Понадобится sh - все поставят sh.

jackill ★★★★★
()
Ответ на: комментарий от jackill

Если ты за рамки sh не выходишь - зачем было бухтеть про #!/bin/bash? и "стандарт де-факто" ;) Пока ты пишешь в скриптах первой строкой #!/bin/sh - всё замечательно, и совершенно неважно, у кого там симлинк длинней.

>Не у кого-то, а практически у всех.
Линуксоиды != все.

Аналогия с 640К здесь совершенно не к месту, бо, как уже не раз было сказано, в 99% bash-extensions не нужны. Bash может рассчитывать на включение в стандартную поставку только в качестве interactive shell, в скриптах всё-равно ещё лет 5 будут писать #!/bin/sh, а чем уж он там на самом деле исполняется - дело десятое.

//Losiki

anonymous
()
Ответ на: комментарий от anonymous

Я имел ввиду "практически у всех линуксоидов".

>а чем уж он там на самом деле исполняется - дело десятое.
Между прочим, я про это и говорил.

Просто я заметил, что просто так держать у себя две оболочки нафиг не нужно.

jackill ★★★★★
()
Ответ на: комментарий от anonymous

> Приведите пример хотя бы одного bash-extension, без которого вы себе жизни в скриптописательстве не мыслите?

2 //Losiki

Нет таких. Наверное. Но мне и знать неохота, каких-таких вроде второстепенных фич, без которых можно обойтись нет в /bin/sh Зачем мне знать то, чего извините просто уже нет в системе, потому что было произведено 20 лет назад. Если линукс уже используется как десктоп, т.е. для повседневной работы, вы что - предлагаете мне еще поставить пару UNIX'ов и проверять под ними - работает или нет? И если даже так, почему кто-то должен подстраиваться под то, что ему неудобно? Если человек использует python-2.3 может попинать его что не 1-й? Или что при создании веб-сайта 2-й апач, а у всех в системе по умолчанию идет 1-й? Не обязательно делаешь выбор, устанавливая новое, поэтому спрашивать почему предпочтение отдано новому не имеет смысла - оно просто было! :-) А мы привыкаем к тому, что есть. Люди которые сейчас начинают работать в Линукс не слышали про "стандартный" shell - повернем их к нему физией? Ща начнется - Линукс уже как масдай.. слышали, слышали..

Почему если я пишу скрипт должен думать как он будет выполняться на машине, где bash'а нет? Если пишу его для себя или под свои рабочие задачи, и поддержку многоплатформенности не ставлю во главу угла? Кто-то хочет им воспользоваться, причем для с-мы в которой данный скрипт не тестировался - вот пусть он над этим и задумается, что ему нужно - адаптировать скрипт или поставить bash. Третий раз повторю - это не сложно сделать. Не хотите, не надо, мы все свободные люди :) Даже смешно читать, что "молодому" "разрешили" это сделать, но "в нерабочее время".

Примеры различий хотите на которые можно напороться сразу? Пожалуйста

a="qq" echo "$a"

anonymous
()
Ответ на: комментарий от anonymous

"Для себя", разумеется, можно делать как угодно, тут никаких претензий нет. Речь о том, что выкладывается в public domain.

Тот же "молодой", которому попеняли, писал скриптцы не для себя, а работал на контору. Поправьте меня, если я не прав.

//Losiki

anonymous
()
Ответ на: комментарий от anonymous

>а как можно узнать, что такок башизм? как избегать этого? есть ли где-то список функций присущих только башу?

Легко! Я не знаю, есть ли это в линуксе (скорее всего есть), но во фряхе есть man builtin. Там есть сравнительный список команд. Правда баша там нет, зато есть список всех встроенных команд sh. На всякий случай вот ссылка на веб:
http://www.FreeBSD.org/cgi/man.cgi?query=builtin&apropos=0&sektion=0&...

Alex_M
()
Ответ на: комментарий от anonymous

4anonymous (*) (27.01.2004 15:38:02):
Речь не о том, чтобы не пользоваться башем для имплементации sh.

//Losiki

anonymous
()
Ответ на: комментарий от anonymous

Почему? Bash портирован на большое число платформ, стандартам соотвествует. Какие причины его не использовать?

anonymous
()
Ответ на: комментарий от anonymous

> Почему? Bash портирован на большое число платформ, стандартам соотвествует. Какие причины его не использовать?

a) Ты не заметил "не".

b) Да используй ты bash, никто слова дурного не скажет! Но если зовешь его как #!/bin/sh, то и не выходи за пределы синтаксиса sh. А если зовешь как #!/usr/bin/bash и раздаешь скрипты за пределы linux, то будь готов долго икать, поскольку костерить тебя будут нещадно. Начиная с того, что у большинства он будет в #!/usr/local/bin/bash, до полного нежелания его ставить, что повлечет переписывание скриптов.

Baka-kun
()
Ответ на: комментарий от Baka-kun

a) виноват

b) > Начиная с того, что у большинства он будет в #!/usr/local/bin/bash,

Хорошо. Буду писать #!/bin/env bash.

> до полного нежелания его ставить, что повлечет переписывание скриптов.

Ну это ведь проблемы того, кто не захотел ставить?

anonymous
()
Ответ на: комментарий от Baka-kun

2Baka-kun

>Начиная с того, что у большинства он будет в #!/usr/local/bin/bash, до полного нежелания его ставить, что повлечет переписывание скриптов.

Ви меня удивляете

man 3 getusershell

или вы программ никогда не писали ?

sS ★★★★★
()
Ответ на: комментарий от rihad

Для этого есть сокеты, а pipe тоже удобно, не всегда нужна двусторонняя связь. А по IPC лучше почитать Стивенса, имхо

ald
()
Ответ на: комментарий от anonymous

> Приведите пример хотя бы одного bash-extension, без которого вы себе жизни в скриптописательстве не мыслите?

мне $RANDOM только припоминается. Не хватает. Я решаю это функцией использующей $(od -A d -A n -N 2 /dev/urandom)

dilmah ★★★★★
()

Очень слабый материал от любителя, который пытаеться казаться профессионалом, конечно, может он и профессионал в чем-то, но как автор он NULL. Я такие материалы называю "мертворожденными", из него можно убрать все ошибки и дописывать хоть 5-6 лет, он мертвый.

Автор смутно представляет что такое UNIX-way, либо просто не может это рассказать. Название статьи отражает ее смысл, а название "Классический UNIX-way или 'компьютер для профессионала'", меня ввело в ступор. О чем статья? О "классическом UNIX-way"? Тогда мне очень интересно услышать о других видах UNIX-way'я. Может о "компьютере для порффисонала"? По-моему, это вообще разные понятия... Например, "Книга как приготовить вкусное цыпленка или компьютер для профиссионала", причем только новички назвают свои статьи как "бла-бла-бла или бла-бла-бла".

Статья мертвая, т.к. о UNIX-way там ничего нет. Я хочу разъяснить прежде всего автору, что такое UNIX-way (далее просто UW). Во-первых,UW - это стандарт, т.е. POSIX, в нем четко написано, какие принципы должны быть заложены, во-вторых, UW - это переносимость, т.е. способность кода выполняться на всех юниксах (либо с минимальными правками), что собственно вытекает из POSIX, в-третьих, это множество утилит, выполняющих четкие задачи, которые коопирируються в рещении сложных задач, что собственно опять же вытекает из POSIX.

В итоге в материале нет ни слова о POSIX. Причем нас учат писать shell скрипты с (#!/bin/bash - дальше можно уже не читать) со строками явно указывающими на НЕ возможность выполниться на множестве машин, т.е. не идет ни какой речи о переносисмости, что противоречит UW.

Зато в этой мега-статье расскажут о чем угодно, кроме UW, например чем нужно создавать 3D графику, и что учить нужно TCL... Говорите TCL... А почему не рекомендовать учить людям Ada и Modul'у ?

Причем автор намекает на какой-то опыт в программировании, хотя после слов, что при написании программ на Perl'e спустя какое-то время уже сам программист не может понять что написал... Если вы пишете такие программы то мне вас жаль. Я могу на БЕЙСИКЕ написать такое, что вы долго будете понимать, что я написал, ибо мне достаточно goto и цикла с предусловием.

Автор считает что плохо шутить - это плохо, зато плохо и часто шутить - это хорошо. Особенно о выражаеться в сравнениях, навпример, "это то же самое что сравнить дельтоплан с боингом", у человека железная аргументация вплане 3D графики.

Таким статьям не место в книгах, она достойна какого нибудь средненького интернет ресурса для новичков, но не более. В ней можно сколь угодно много убирать ошибки и дописать статью, результат один - это статья мусор.

Oc
()
Ответ на: комментарий от Oc

Очень интересно. До слова "коопирируються".

> о строками явно указывающими на НЕ возможность выполниться на множестве машин

Может тебя это удивит, но ходят упорные слухи, что число платформ, где можно найти bash, БОЛЬШЕ числа платформ, на которых стандартный sh полностью posix-совместим.

Может не стоит в очередной раз проверять насколько удачно разработчики очередной ОС изобрели очередной велосипед (свою реализацию shell), а всюду ставить мощный кроссплатформенный bash?

anonymous
()
Ответ на: комментарий от Oc

Не надо для новичков. Зачем людей уродовать?

jackill ★★★★★
()
Ответ на: комментарий от anonymous

> ... Поставить bash не из сырцы, а уже собранный тоже нет проблем. В той же FreeBsd ставится из портов ...

простите, а что, порты во фре - это что-то не имеющее к исходникам никакого отношения? что-то я пить стал много и часто. "пить надо меньше, меньше надо пить" ("с лёгким паром")

anonymous
()
Ответ на: комментарий от jackill

2jackil

По умолчанию ставится в FreeBSD из портов. Все из портов туда ставится. Поскольку не входит в base-систем.

anonymous
()
Ответ на: комментарий от Mithraen

Насчет PHP - не знаю, но можно ли называть попсней язык, на котором написан AT&T UNIX,Linux,Freebsd,Solaris,HP-UX,Irix,AIX и говорить про Unix-way. Unix-way создан на С, поэтому С неотемлимая часть Unix-way, IMHO

ald
()
Ответ на: комментарий от Alex_M

>БАШ ТОРМОЗНЕЕ В 4 РАЗА! Долой башизмы-линуксизмы из скриптов! Пишите быстрые и переносимые программы!Правда пользователям Линукса повторять это не стоит, т.к. линуксячий sh это всего хардлинк на тот же самый баш.Не повезло! Отсутствие свободы выбора это плохо!

гы-гы, а во FreeBSD, небось csh не front-end, к tcsh

ald
()
Ответ на: комментарий от anonymous

> число платформ, где можно найти bash, БОЛЬШЕ числа платформ, на которых стандартный sh полностью posix-совместим.

Причем здесь это! Не нужно ставить sh, если у вас есть bash, т.к. он POSIX совместимый. Дело в том, что тут все программируют на shell думая, что на самом деле программируют на bash. Все сшэлл скрипты должны начинаться с #!/bin/sh, если вам плевать на POSIX, то хотя бы для того, что /bin/sh как минимум есть сим. линк на какой-нить POSIX соввместимый сшэлл, хоть тот же bash.

Писать #!/bin/bash так же глупо, хотя бы потому, что у большинства других unix-like он лежит в /usr/local/bin/bash. Если вам нравиться придумывать свои пингвинячие "стандарты" придумывайте сколько влезет и пишите скрипты какие хотите, только будьте готовы что любой программист вас проклинет, увидет такую "работу".

Столлмэн сказал, что мозги слишком ценный ресурс, что бы тратить его по пустякам... А на что идут мои силы как программиста, если я буду править во всех скриптах #!/bin/bash на #!/usr/local/bin/bash, а ведь в это время я мог написать хороший патч для вашей любимой программы...

Покажите мне unix-like c POSIX не совместимым sh, хорошо? Вы путаете понятия "использовать сшэлл" и "испозовать сшэлл для скриптинга"...

Oc
()
Ответ на: комментарий от jackill

> Кошмар какой. Ну симлинк /usr/bin сделай :)

А теперь представь как облегчищь людям жизнь написав прочто #!/bin/sh

Oc
()
Ответ на: комментарий от Oc

> #!/bin/sh, если вам плевать на POSIX,

Именно. Есть гораздо более легкий и правильный путь добиться кроссплатформенности - стандартное GNU-окружение.

> то хотя бы для того, что /bin/sh как минимум есть сим. линк на какой-нить POSIX соввместимый сшэлл, хоть тот же bash.

Тем более.

> Писать #!/bin/bash так же глупо, хотя бы потому, что у большинства других unix-like он лежит в /usr/local/bin/bash.

Это их проблемы. Кто им мешал установить bash в /bin ?

> Если вам нравиться придумывать свои пингвинячие "стандарты"

GNU. Животное такое с рогами. С пингвинами не в родстве.

> придумывайте сколько влезет и пишите скрипты какие хотите, только будьте готовы что любой программист вас проклинет, увидет такую "работу".

Это его проблемы. Если сборка GNU-утилит является для него проблемой, то он даже и проклянуть как следует не сможет.

> Столлмэн сказал, что мозги слишком ценный ресурс, что бы тратить его по пустякам...

И особенно тратить на то, чтобы каждая ОС имела свой уникальный в реализации, но стандартный по возможностям shell. Есть bash - ниша занята.

> А на что идут мои силы как программиста, если я буду править во всех скриптах #!/bin/bash на #!/usr/local/bin/bash, а ведь в это время я мог написать хороший патч для вашей любимой программы...

Ну почему нельзя поставить bash в /bin? А если программисту нужно больше минуты на написание скрипта, который делает указанную правку, - ...

> Покажите мне unix-like c POSIX не совместимым sh, хорошо? Вы путаете понятия "использовать сшэлл" и "испозовать сшэлл для скриптинга"..

Покажите мне unix-like систему, на которую не портированы GNU-утилиты.

anonymous
()
Ответ на: комментарий от anonymous

> Именно. Есть гораздо более легкий и правильный путь добиться кроссплатформенности - стандартное GNU-окружение.

И чем тогда GNU отличаеться от Microsoft, а Столлмэн от Гейтса? Если для совместимости меня заставляют пользоваться "стандартными" GNU утилитами? Мне всегда казалось, что превыше всего свобода пользователя...

Ваш пример POSIX и GNU, можно сравнить с тем, когда хвост виляет собакой... Нужно себе хорошо представлять, что такое POSIX и что такое POSIX-совместимые утилиты, и утилиты GNU вчастности.

> Есть bash - ниша занята.

Есть Windows - ниша занята, чеж тогда всеми мыслимыми и немыслимыми способами пихают Linux на десктоп?

> Покажите мне unix-like систему, на которую не портированы GNU-утилиты.

А не нужно как еврей отвечать вопросом на вопрос.

Oc
()
Ответ на: комментарий от Oc

> И чем тогда GNU отличаеться от Microsoft, а Столлмэн от Гейтса?

Это несерьезно. Продукты MS работают на единственной (плюс-минус три-четыре) платформе. GNU-тые продукты работают на всем, что шевелится.

Столлмэн носит бороду.

> Если для совместимости меня заставляют пользоваться "стандартными" GNU утилитами? Мне всегда казалось, что превыше всего свобода пользователя...

GNU и свобода - понятия несовместимые. Пользователя (точнее производителя) надо _заставить_ не изобретать велосипеды, т.к. человеческих слов он похоже не понимает.

> Ваш пример POSIX и GNU, можно сравнить с тем, когда хвост виляет собакой... Нужно себе хорошо представлять, что такое POSIX и что такое POSIX-совместимые утилиты, и утилиты GNU вчастности.

А вы похоже плохо представляете себе, что такое POSIX. POSIX-совместимость - это не цель, это _средство_. Проект GNU достигает той же цели более прямой дорогой (не полагаясь на добрую волю и высокую сознательность производителей коммерческого и прочего софта).

> Есть Windows - ниша занята, чеж тогда всеми мыслимыми и немыслимыми способами пихают Linux на десктоп?

Это вопрос ко мне? Я что-то куда-то пихаю? А про нишу Windows уже сказано - продукт закрытый, не свободный. И где вы видели Windows на спарке, допустим.

> А не нужно как еврей отвечать вопросом на вопрос.

Вы антисемит?

anonymous
()
Ответ на: комментарий от Oc

А я и пишу. Тут просто меня достали уже - одна толпа орет "пиши /bin/sh" - я им говорю: "я и так пишу". Вторая толпа тут же подключается: "Он тормозной, нах. Десять оболочек - каждую под свою задачу...". Я говорю - нах. Мне симлинка хватает. И пофигу мне на тормознутость в циклах - я им не считаю ничего. Тут подключаются третьи: "А пофигу, что у тебя симлинк - ты используешь башизмы". Да не использую я башизмы - у меня дока по sh. Тут подключаются четвертые: "А хрен ли ты не используешь башизмы? Пора вылезти из каменного века. sh нах! krename рулит"

Так вот, хочу сказать всем - вы извините, конечно, но идите нах.

Пишу я #!/bin/sh
Пишу под sh - не нужно для моих целей башизмов.
Когда мне понадобятся башизмы, я буду писать башизмы. И плевать я хотел, если хз где не запустится - поправите, не умрете. Это просто.
Десять оболочек себе я ставить не буду, пока не присрется.
Мне плевать, что у freebsd из портов все какого-то хрена ставится в /usr/local. Читать надо было про использование файловой системы и что куда ставится. Я не использую freebsd. А если буду использовать, то наверняка мои скрипты заработают. А не заработают - поправлю, не переломлюсь.
Да, я считаю, что за баш будущее. Как rh было уверено, что UL нах не нужен и делало как считало нужным. И поэтому если кому понадобятся мои убогие скрипты, они будут работать.

Честное слово, достали тупым и абсолютно бесполезным спором.

jackill ★★★★★
()
Ответ на: комментарий от Oc

Число большинства unix-like сокращается. Останется в основном FreeBSD и Linux. Последнего будет больше.
Посмотрите, как в линуксах сейчас пишутся скрипты - #!/bin/bash
С легкой руки rh и debian. И плевали они на несовместимость.

К тому же sh - вовсе не полная реализация posix shell, которой вообще не существует. Поэтому нефиг тут всем тыкать в sh,
Хотим баш с симлинком sh - будем использовать его. А если zsh поднимет голову - его.

jackill ★★★★★
()
Ответ на: комментарий от jackill

>К тому же sh - вовсе не полная реализация posix shell, которой вообще не существует

а) Какой sh и на какой платформе имеется в виду?
б) Что значит - "вообще не существует полной реализации" - а слова о bash выше? FreeBSD'шный sh тоже conforms. Даже так - мне неизвестны (современные) юниксы, где sh не соответствовал бы позиксовому стандарту.

Кстати, тип оф зе дей по поводу предыдущего поста. Раздражает - не читай.

//Losiki

anonymous
()
Ответ на: комментарий от jackill

> Посмотрите, как в линуксах сейчас пишутся скрипты - #!/bin/bash С легкой руки rh и debian. И плевали они на несовместимость.

А я на них плевал...

Когда дело дойдет до портировании программы на другую unix-like ОС (той же prozilla на FreeBSD), то понятно кто пишет unix-программы, а кто "программы для Red Hat 9.0"...

Oc
()
Ответ на: комментарий от jackill

> Пишу я #!/bin/sh Пишу под sh - не нужно для моих целей башизмов.

Ну, и молодец.

Смысл в том, что в статье написан обычный (!) sh скрипт в начале котрого написано #!/bin/bash... - Это идиотизм, который на совести "автора".

> Когда мне понадобятся башизмы, я буду писать башизмы. И плевать я хотел, если хз где не запустится - поправите, не умрете.

Смысл в том... Что в sh скрипте должен быть #!/bin/sh, а башизме соотвественно bash... Так вот все пишут sh скрипты, а подписывают их как bash, по-моему, маразм... Я попросил, покажите мне хоть один башизм без которого вы не представляете скриптинг, все молчат, значит нет таких...

> Честное слово, достали тупым и абсолютно бесполезным спором.

Честное слово, достали тупыми и абсолютно бесполезными статьями.

Oc
()
Ответ на: комментарий от jackill

Охохо,
Ну просвети, что в _твоём_ понимании "соответствовать" и "полностью реализовать" в отношении Posix shell specification.

И что конкретно не "реализует" тот шелл, который "соответствует" стандарту.

//Losiki

anonymous
()
Ответ на: комментарий от Oc

FreeBSD - это не unix-, а bsd-like ОС. Unix - это SysV, точка. Поэтому все аргументы религиозно-озабоченных бсд-шников, не желающих использовать гнутые утилиты не по объективным, а по идейным соображениям, смешны. Как в том анекдоте - что угодно сделают, но форточку не откроют (bash в /bin не поставят).

anonymous
()
Ответ на: комментарий от anonymous

2anonymous (*) (29.01.2004 12:34:55):

> FreeBSD - это не unix-, а bsd-like ОС.

BSD *IS* UNIX. Period.

> Поэтому все аргументы религиозно-озабоченных бсд-шников, не желающих использовать гнутые утилиты не по объективным, а по идейным соображениям, смешны. Как в том анекдоте - что угодно сделают, но форточку не откроют (bash в /bin не поставят).

Не путай теплое с длинным. Использовать - это одно (таки используют все от gmake до gnome), а ставить в /bin - это совсем другое.

2jackill (*) (29.01.2004 10:41:31):

> Мне плевать, что у freebsd из портов все какого-то хрена ставится в /usr/local. Читать надо было про использование файловой системы и что куда ставится.

Именно. man hier. И только не говорите мне, что помойка в /usr/bin - это красиво. FreeBSD - это ОС (ударение на _система_), в отличие от "ядро + все прочее", поэтому в /bin будет лежать _минимально_необходимый_ аварийный набор бинарников, на случай неподмонтированного /usr, в /usr/bin будут лежать _входящие_в_базовую_систему_ бинарники, а в /usr/local - все, что не входит в ОС.

Baka-kun
()
Ответ на: комментарий от Baka-kun

NAME
hier - Description of the file system hierarchy

DESCRIPTION
A typical Linux system has, among others, the following directories:

/ This is the root directory. This is where the whole tree
starts.

/bin This directory contains executable programs which are needed in
single user mode and to bring the system up or repair it.

/boot Contains static files for the boot loader. This directory only
holds the files which are needed during the boot process. The
map installer and configuration files should go to /sbin and
/etc.

jackill ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.