Re: [Lug-bg] bash- mysql=неволи
работната директория на скрипта когато ти го изпълняваш и когато cron го стартира? 2011/9/7 kingfis...@almus.net: Привет на всички! Изчерпих се от към идеи затова реших да попитам по-знаещите :) Имам елементарен bash скрипт които се обръща към mysql база за да провери дадена стойност.Всичко работи и си мислех че лесно съм се отървал от един досаден приятел и му е време да почерпи...пуснах го скрипта в cron-a и за моя голяма изненада сутринта получих на пощата писмото както си му е реда, но вътре стойностите бяха NULL. Веднага се усъмних в cron-a и правата му, провери ги ,но си бяха наред за всеки случаи в самият скрипт експортирах пътищата до командите,но не според мен в това проблема. Пуснах лога-а на mysql-а да видя какво пристига и всичко изглежда наред, но резултата е NULL ако е изпълнено под cron-a, като го пусна на ръка си работи, като копирам от лог-а на mysql-a заявката вътре в mysql-а пак си работи. Интересното е че не работи заявката дори ако изпълня като root със su - root -c /usr/sbin/somescript.sh Пробвах го и с ssh -l root 10.0.0.1 /usr/sbin/somescript.sh от друга машина и пак не работи дава стойности NULL като в лога на mysql-a идва нормална заявка ето и примерно какво правя: QRY=SELECT SUM(GoodsTradeInSum)FROM (SELECT '$curtime' AS ReportDate, goods.Name AS GoodsName, SUM(IF(ISNULL(operations.Qtty * operations.Sign), 0, operations.Qtty * operations.Sign)) AS StoreAvailableQuantity, goods.PriceIn AS GoodsTradeInPrice, SUM(IF(ISNULL(operations.Qtty * operations.Sign), 0, operations.Qtty * operations.Sign)) * goods.PriceIn AS GoodsTradeInSum FROM objects, goods) LEFT JOIN operations ON (objects.ID = operations.ObjectID AND goods.ID = operations.GoodID)) LEFT JOIN goodsgroups ON ABS(goods.GroupID) = goodsgroups.ID) LEFT JOIN objectsgroups ON ABS(objects.GroupID) = objectsgroups.ID) LEFT JOIN vatgroups ON goods.TaxGroup = vatgroups.ID WHERE (operations.Date = '$curtime 00:00:00') AND (goods.Name LIKE concat('%', 'ц-ри', '%')) GROUP BY goods.Code, goods.Name, goods.ID, goods.Measure1, objects.ID, objects.Name, goods.PriceIn, vatgroups.VATValue) as T CMD=mysql -h $HOST -u $DB_USER -p$DB_PASS -D$DB echo `$CMD eof $QRY eof` $LOGtmp ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
Re: [Lug-bg] bash- mysql=неволи
Скрипта се намира в /usr/local/sbin сега го преместих и в /usr/bin/, но ефекта е никакъв.cron env: SHELL=/bin/sh USER=root PATH=/sbin:/usr/sbin:/bin:/usr/bin PWD=/root SHLVL=1 HOME=/root LOGNAME=root В самият скрипт имам: PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin export PATH работната директория на скрипта когато ти го изпълняваш и когато cron го стартира? 2011/9/7 kingfis...@almus.net: Привет на всички! �зчерпих се от към идеи затова реших да попитам по-знаещите :) �мам елементарен bash скрипт които се обръща към mysql база за да провери дадена стойност.Всичко работи и си мислех че лесно съм се отървал от един досаден приятел и му е време да почерпи...пуснах го скрипта в cron-a и за моя голяма изненада сутринта получих на пощата писмото както си му е реда, но вътре стойностите бяха NULL. Веднага се усъмних в cron-a и правата му, провери ги ,но си бяха наред за всеки случаи в самият скрипт експортирах пътищата до командите,но  не според мен  в това проблема. Пуснах лога-а на mysql-а да видя какво пристига и всичко изглежда наред, но резултата е NULL ако е изпълнено под cron-a, като го пусна на ръка си работи, като копирам от лог-а на mysql-a заявката вътре в  mysql-а пак си работи. �нтересното е че не работи заявката дори ако изпълня като root със su - root -c /usr/sbin/somescript.sh Пробвах го и с ssh -l root 10.0.0.1 /usr/sbin/somescript.sh от друга машина и пак не работи дава стойности NULL като в лога на mysql-a идва нормална заявка ето и примерно какво правя: QRY=SELECT SUM(GoodsTradeInSum)FROM (SELECT '$curtime' AS ReportDate, goods.Name AS GoodsName, SUM(IF(ISNULL(operations.Qtty * operations.Sign), 0, operations.Qtty * operations.Sign)) AS StoreAvailableQuantity, goods.PriceIn AS GoodsTradeInPrice, SUM(IF(ISNULL(operations.Qtty * operations.Sign), 0, operations.Qtty * operations.Sign)) * goods.PriceIn AS GoodsTradeInSum FROM objects, goods) LEFT JOIN operations ON (objects.ID = operations.ObjectID AND goods.ID = operations.GoodID)) LEFT JOIN goodsgroups ON ABS(goods.GroupID) = goodsgroups.ID) LEFT JOIN objectsgroups ON ABS(objects.GroupID) = objectsgroups.ID) LEFT JOIN vatgroups ON goods.TaxGroup = vatgroups.ID WHERE (operations.Date = '$curtime 00:00:00') AND (goods.Name LIKE concat('%', 'ц-ри', '%')) GROUP BY goods.Code, goods.Name, goods.ID, goods.Measure1, objects.ID, objects.Name, goods.PriceIn, vatgroups.VATValue) as T CMD=mysql -h $HOST  -u $DB_USER -p$DB_PASS -D$DB echo  `$CMD eof $QRY eof` $LOGtmp ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
Re: [Lug-bg] bash- mysql=неволи
От cron като изпълняваш скриптове, разликата е в обкръжението, разните променливи не са дефинирани. Пусни env от cron и от нормална конзола и виж какво е различно, вероятно там някъде се развалят нещата. Скелета 2011/9/7 kingfis...@almus.net Привет на всички! Изчерпих се от към идеи затова реших да попитам по-знаещите :) Имам елементарен bash скрипт които се обръща към mysql база за да провери дадена стойност.Всичко работи и си мислех че лесно съм се отървал от един досаден приятел и му е време да почерпи...пуснах го скрипта в cron-a и за моя голяма изненада сутринта получих на пощата писмото както си му е реда, но вътре стойностите бяха NULL. Веднага се усъмних в cron-a и правата му, провери ги ,но си бяха наред за всеки случаи в самият скрипт експортирах пътищата до командите,но не според мен в това проблема. Пуснах лога-а на mysql-а да видя какво пристига и всичко изглежда наред, но резултата е NULL ако е изпълнено под cron-a, като го пусна на ръка си работи, като копирам от лог-а на mysql-a заявката вътре в mysql-а пак си работи. Интересното е че не работи заявката дори ако изпълня като root със su - root -c /usr/sbin/somescript.sh Пробвах го и с ssh -l root 10.0.0.1 /usr/sbin/somescript.sh от друга машина и пак не работи дава стойности NULL като в лога на mysql-a идва нормална заявка ето и примерно какво правя: QRY=SELECT SUM(GoodsTradeInSum)FROM (SELECT '$curtime' AS ReportDate, goods.Name AS GoodsName, SUM(IF(ISNULL(operations.Qtty * operations.Sign), 0, operations.Qtty * operations.Sign)) AS StoreAvailableQuantity, goods.PriceIn AS GoodsTradeInPrice, SUM(IF(ISNULL(operations.Qtty * operations.Sign), 0, operations.Qtty * operations.Sign)) * goods.PriceIn AS GoodsTradeInSum FROM objects, goods) LEFT JOIN operations ON (objects.ID = operations.ObjectID AND goods.ID = operations.GoodID)) LEFT JOIN goodsgroups ON ABS(goods.GroupID) = goodsgroups.ID) LEFT JOIN objectsgroups ON ABS(objects.GroupID) = objectsgroups.ID) LEFT JOIN vatgroups ON goods.TaxGroup = vatgroups.ID WHERE (operations.Date = '$curtime 00:00:00') AND (goods.Name LIKE concat('%', 'ц-ри', '%')) GROUP BY goods.Code, goods.Name, goods.ID, goods.Measure1, objects.ID, objects.Name, goods.PriceIn, vatgroups.VATValue) as T CMD=mysql -h $HOST -u $DB_USER -p$DB_PASS -D$DB echo `$CMD eof $QRY eof` $LOGtmp ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
Re: [Lug-bg] bash- mysql=неволи
On Wed, Sep 07, 2011 at 12:00:42PM +0300, Georgi Georgiev wrote: От cron като изпълняваш скриптове, разликата е в обкръжението, разните променливи не са дефинирани. Пусни env от cron и от нормална конзола и виж какво е различно, вероятно там някъде се развалят нещата. Мдам, и аз за нещо такова щях да кажа :) Само една добавка: най-вероятно поне част от проблема е свързана с locale - като гледам, в заявката се използват символи на кирилица. Обърни особено внимание на евентуални разлики в променливите LANG и LC_*. Също така... $curtime е променлива, която се задава в shell script-а, така ли? (ако не, ще имаш проблеми с quoting с кавичките, но това не би трябвало да се случва *само* при изпълнение от cron). Поздрави, Петър -- Peter Pentchev r...@ringlet.net r...@freebsd.org pe...@packetscale.com PGP key:http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 I am the thought you are now thinking. 2011/9/7 kingfis...@almus.net Привет на всички! Изчерпих се от към идеи затова реших да попитам по-знаещите :) Имам елементарен bash скрипт които се обръща към mysql база за да провери дадена стойност.Всичко работи и си мислех че лесно съм се отървал от един досаден приятел и му е време да почерпи...пуснах го скрипта в cron-a и за моя голяма изненада сутринта получих на пощата писмото както си му е реда, но вътре стойностите бяха NULL. Веднага се усъмних в cron-a и правата му, провери ги ,но си бяха наред за всеки случаи в самият скрипт експортирах пътищата до командите,но не според мен в това проблема. Пуснах лога-а на mysql-а да видя какво пристига и всичко изглежда наред, но резултата е NULL ако е изпълнено под cron-a, като го пусна на ръка си работи, като копирам от лог-а на mysql-a заявката вътре в mysql-а пак си работи. Интересното е че не работи заявката дори ако изпълня като root със su - root -c /usr/sbin/somescript.sh Пробвах го и с ssh -l root 10.0.0.1 /usr/sbin/somescript.sh от друга машина и пак не работи дава стойности NULL като в лога на mysql-a идва нормална заявка ето и примерно какво правя: QRY=SELECT SUM(GoodsTradeInSum)FROM (SELECT '$curtime' AS ReportDate, goods.Name AS GoodsName, SUM(IF(ISNULL(operations.Qtty * operations.Sign), 0, operations.Qtty * operations.Sign)) AS StoreAvailableQuantity, goods.PriceIn AS GoodsTradeInPrice, SUM(IF(ISNULL(operations.Qtty * operations.Sign), 0, operations.Qtty * operations.Sign)) * goods.PriceIn AS GoodsTradeInSum FROM objects, goods) LEFT JOIN operations ON (objects.ID = operations.ObjectID AND goods.ID = operations.GoodID)) LEFT JOIN goodsgroups ON ABS(goods.GroupID) = goodsgroups.ID) LEFT JOIN objectsgroups ON ABS(objects.GroupID) = objectsgroups.ID) LEFT JOIN vatgroups ON goods.TaxGroup = vatgroups.ID WHERE (operations.Date = '$curtime 00:00:00') AND (goods.Name LIKE concat('%', 'ц-ри', '%')) GROUP BY goods.Code, goods.Name, goods.ID, goods.Measure1, objects.ID, objects.Name, goods.PriceIn, vatgroups.VATValue) as T CMD=mysql -h $HOST -u $DB_USER -p$DB_PASS -D$DB echo `$CMD eof $QRY eof` $LOGtmp signature.asc Description: Digital signature ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
Re: [Lug-bg] bash- mysql=неволи
On Wed, Sep 07, 2011 at 12:23:59PM +0300, kingfis...@almus.net wrote: [всъщност това го беше написал Георги...] От cron като изпълняваш скриптове, разликата е в обкръжението, разните променливи не са дефинирани. Пусни env от cron и от нормална конзола и виж какво е различно, вероятно там някъде се развалят нещата. Скелета Пробвах с eval $CMD,но не става.Мен повече ме притеснява че заявката си идва нормална поне в лога на mysql-a когато идва от cron-a. Пробвах и заявка без променливи твърда дата и пълен път до /bin/echo и резулата е същият. Сега тествах на друго дистро на едно виртуално Убунто с друга версия на mysql там като копирах от лога заявката и я поставих направо в mysql-a наистина ми даде резултат NULL. Това са пътищата на cron-a: SHELL=/bin/sh USER=root PATH=/sbin:/usr/sbin:/bin:/usr/bin PWD=/root SHLVL=1 HOME=/root LOGNAME=root _=/usr/bin/env А това на shell-a: /bin:/usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin:/opt/bin:/usr/local/sbin:/opt/kde/bin:/usr/bin/vendor_perl:/usr/bin/core_perl:/opt/qt/bin Не става дума за пътищата. Както ти каза Георги, пусни командата env (без параметри, може и printenv) от cron и от твоя шел, да видим дали ще има някакви разлики. Поздрави, Петър -- Peter Pentchev r...@ringlet.net r...@freebsd.org pe...@packetscale.com PGP key:http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 I am the meaning of this sentence. 2011/9/7 kingfis...@almus.net Привет на всички! Изчерпих се от към идеи затова реших да попитам по-знаещите :) Имам елементарен bash скрипт които се обръща към mysql база за да провери дадена стойност.Всичко работи и си мислех че лесно съм се отървал от един досаден приятел и му е време да почерпи...пуснах го скрипта в cron-a и за моя голяма изненада сутринта получих на пощата писмото както си му е реда, но вътре стойностите бяха NULL. Веднага се усъмних в cron-a и правата му, провери ги ,но си бяха наред за всеки случаи в самият скрипт експортирах пътищата до командите,но не според мен в това проблема. Пуснах лога-а на mysql-а да видя какво пристига и всичко изглежда наред, но резултата е NULL ако е изпълнено под cron-a, като го пусна на ръка си работи, като копирам от лог-а на mysql-a заявката вътре в mysql-а пак си работи. Интересното е че не работи заявката дори ако изпълня като root със su - root -c /usr/sbin/somescript.sh Пробвах го и с ssh -l root 10.0.0.1 /usr/sbin/somescript.sh от друга машина и пак не работи дава стойности NULL като в лога на mysql-a идва нормална заявка ето и примерно какво правя: QRY=SELECT SUM(GoodsTradeInSum)FROM (SELECT '$curtime' AS ReportDate, goods.Name AS GoodsName, SUM(IF(ISNULL(operations.Qtty * operations.Sign), 0, operations.Qtty * operations.Sign)) AS StoreAvailableQuantity, goods.PriceIn AS GoodsTradeInPrice, SUM(IF(ISNULL(operations.Qtty * operations.Sign), 0, operations.Qtty * operations.Sign)) * goods.PriceIn AS GoodsTradeInSum FROM objects, goods) LEFT JOIN operations ON (objects.ID = operations.ObjectID AND goods.ID = operations.GoodID)) LEFT JOIN goodsgroups ON ABS(goods.GroupID) = goodsgroups.ID) LEFT JOIN objectsgroups ON ABS(objects.GroupID) = objectsgroups.ID) LEFT JOIN vatgroups ON goods.TaxGroup = vatgroups.ID WHERE (operations.Date = '$curtime 00:00:00') AND (goods.Name LIKE concat('%', 'ц-ри', '%')) GROUP BY goods.Code, goods.Name, goods.ID, goods.Measure1, objects.ID, objects.Name, goods.PriceIn, vatgroups.VATValue) as T CMD=mysql -h $HOST -u $DB_USER -p$DB_PASS -D$DB echo `$CMD eof $QRY eof` $LOGtmp signature.asc Description: Digital signature ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
Re: [Lug-bg] bash- mysql=неволи
At Wed, 7 Sep 2011 12:16:10 +0300, Peter Pentchev wrote: [1 multipart/signed (7bit)] [1.1 text/plain; utf-8 (quoted-printable)] On Wed, Sep 07, 2011 at 12:00:42PM +0300, Georgi Georgiev wrote: От cron като изпълняваш скриптове, разликата е в обкръжението, разните променливи не са дефинирани. Пусни env от cron и от нормална конзола и виж какво е различно, вероятно там някъде се развалят нещата. Мдам, и аз за нещо такова щях да кажа :) Само една добавка: най-вероятно поне част от проблема е свързана с locale - като гледам, в заявката се използват символи на кирилица. Обърни особено внимание на евентуални разлики в променливите LANG и LC_*. за кирилицата е важно също set names и set charset или --default-character-set=charset_name: http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html man mysql(1) ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
Re: [Lug-bg] bash- mysql=неволи
On Wed, Sep 07, 2011 at 11:57:29AM +0200, Момчил Иванов wrote: At Wed, 7 Sep 2011 12:16:10 +0300, Peter Pentchev wrote: [1 multipart/signed (7bit)] [1.1 text/plain; utf-8 (quoted-printable)] On Wed, Sep 07, 2011 at 12:00:42PM +0300, Georgi Georgiev wrote: От cron като изпълняваш скриптове, разликата е в обкръжението, разните променливи не са дефинирани. Пусни env от cron и от нормална конзола и виж какво е различно, вероятно там някъде се развалят нещата. Мдам, и аз за нещо такова щях да кажа :) Само една добавка: най-вероятно поне част от проблема е свързана с locale - като гледам, в заявката се използват символи на кирилица. Обърни особено внимание на евентуални разлики в променливите LANG и LC_*. за кирилицата е важно също set names и set charset или --default-character-set=charset_name: http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html man mysql(1) ...но това не би трябвало да има значение точно в конкретния случай, ако той пуска същия shell-скрипт от същия потребителски акаунт със същата home-директория и т.н. Да, по принцип е хубаво да се знае (и решава много проблеми), но точно сега може би не е в това работата. Поздрави, Петър -- Peter Pentchev r...@ringlet.net r...@freebsd.org pe...@packetscale.com PGP key:http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 I've heard that this sentence is a rumor. signature.asc Description: Digital signature ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
Re: [Lug-bg] bash- mysql=неволи
On Wed, Sep 07, 2011 at 01:18:59PM +0300, kingfis...@almus.net wrote: Да, започвам да стигам до извода, че е свързано с locala защото заявки без кирилица от cron-a си минават безпроблемно. на shell-a env: [snip] LC_COLLATE=C [snip] LANG=en_US.UTF-8 Пробвай да подадеш тези двете при изпълнение на скрипта през cron; най-лесният начин е в crontab-а да напишеш: env LC_COLLATE='C' LANG='en_US.UTF-8' командата-която-е-била-досега И може и да тръгне :) Дори би могло LC_COLLATE да няма толкова голямо значение (самото то ми се вижда малко странно и за шела ти), но за всеки случай пробвай първо и с двете. Поздрави, Петър -- Peter Pentchev r...@ringlet.net r...@freebsd.org pe...@packetscale.com PGP key:http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 This sentence was in the past tense. signature.asc Description: Digital signature ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
Re: [Lug-bg] bash- mysql=неволи
Проблемът е решен, за което искам да благодаря на всички взели участие. Стана само с LANG=en_US.UTF-8 LC_COLLATE=C този локал е останал от миналото, този хард го тормозя от 6-7 год. и е минал през какви ли не експерименти както се вижда даже някога е бил и десктоп. On Wed, Sep 07, 2011 at 01:18:59PM +0300, kingfis...@almus.net wrote: Да, започвам РґР° стигам РґРѕ РёР·РІРѕРґР°, че Рµ свързано СЃ locala защото заявки без кирилица РѕС‚ cron-a СЃРё минават безпроблемно. РЅР° shell-a env: [snip] LC_COLLATE=C [snip] LANG=en_US.UTF-8 Пробвай РґР° подадеш тези двете РїСЂРё изпълнение РЅР° скрипта през cron; най-лесният начин Рµ РІ crontab-Р° РґР° напишеш: env LC_COLLATE='C' LANG='en_US.UTF-8' командата-която-Рµ-била-досега Р#65533; може Рё РґР° тръгне :) Дори Р±Рё могло LC_COLLATE РґР° РЅСЏРјР° толкова голямо значение (самото то РјРё СЃРµ вижда малко странно Рё Р·Р° шела ти), РЅРѕ Р·Р° всеки случай пробвай РїСЉСЂРІРѕ Рё СЃ двете. Поздрави, Петър -- Peter Pentchevr...@ringlet.net r...@freebsd.org pe...@packetscale.com PGP key: http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 This sentence was in the past tense. ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
[Lug-bg] bash script конвертиране на кирилица към латиница !
Здравейте, Много спешно ми трябва някакъв инструмент, с който мога под bash да конвертирам кирилица към латиница. Най-добре поточно, през | . някакви идеи ? Поздрави, Ивайло Тошев ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
Re: [Lug-bg] bash script конвертиране на кирилица към латиница !
Опитай с tr Поздрави, Георги Андонов Ivaylo Toshev ivaylo.tos...@gmail.com To Linux Users Group - Bulgaria lug-bg@linux-bulgaria.org cc bcc Subject [Lug-bg] bash script конвертиране на кирилица към латиница ! Ivaylo Toshev ivaylo.tos...@gmail.com Please respond to : Linux Users Group - Bulgaria lug-bg@linux-bulgaria.org Sent by: lug-bg-boun...@linux-bulgaria.org 06.04.2011 11:47 Здравейте, Много спешно ми трябва някакъв инструмент, с който мога под bash да конвертирам кирилица към латиница. Най-добре поточно, през | . някакви идеи ? Поздрави, Ивайло Тошев Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __ ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
Re: [Lug-bg] bash script конвертиране на кирилица към латиница !
Around 04/06/2011 11:47 AM, Ivaylo Toshev scribbled: Здравейте, Много спешно ми трябва някакъв инструмент, с който мога под bash да конвертирам кирилица към латиница. Най-добре поточно, през | . #!/usr/bin/env php ?php error_reporting(E_ALL); function valid_utf8($input) { return @iconv(UTF-8, UTF-8, $input) == $input; } function cyr_to_lat($data) { if (preg_match('/Ж[а-я]/',$data)) { $data = str_replace('Ж','Zh',$data); } else { $data = str_replace('Ж','ZH',$data); } if (preg_match('/Ч[а-я]/',$data)) { $data = str_replace('Ч','Ch',$data); } else { $data = str_replace('Ч','CH',$data); } if (preg_match('/Ш[а-я]/',$data)) { $data = str_replace('Ш','Sh',$data); } else { $data = str_replace('Ш','SH',$data); } if (preg_match('/Щ[а-я]/',$data)) { $data = str_replace('Щ','Sht',$data); } else { $data = str_replace('Щ','SHT',$data); } if (preg_match('/Ю[а-я]/',$data)) { $data = str_replace('Ю','Iu',$data); } else { $data = str_replace('Ю','IU',$data); } if (preg_match('/Я[а-я]/',$data)) { $data = str_replace('Я','Ia',$data); } else { $data = str_replace('Я','IA',$data); } $data = strtr($data,'АБВГДЕЗИЙКЛМНОПРСТУФХЦЪЬЫЭЦ','ABVGDEZIYKLMNOPRSTUFHCC'); $data = str_replace('ж','zh',$data); $data = str_replace('ч','ch',$data); $data = str_replace('ш','sh',$data); $data = str_replace('щ','sht',$data); $data = str_replace('ю','iu',$data); $data = str_replace('я','ja',$data); $data = strtr($data,'абвгдезийклмнопрстуфхьъьыэц','abvgdeziyklmnoprstufhcc'); return $data; } $f = fopen(php://stdin, r); while ($s = fread($f, 4096)) { if (valid_utf8($s)) print cyr_to_lat(iconv(UTF-8, Windows-1251, $s)); else print cyr_to_lat($s); } fclose($f); ? Записваш горното като cyr2lat.php и после ползваш: echo Кривата Уфтса, прескочи куцото Куче на Юруш! | cyr2lat.php -- Georgi Chorbadzhiyski http://georgi.unixsol.org/ #!/usr/bin/env php ?php error_reporting(E_ALL); function valid_utf8($input) { return @iconv(UTF-8, UTF-8, $input) == $input; } function cyr_to_lat($data) { if (preg_match('/Æ[à-ÿ]/',$data)) { $data = str_replace('Æ','Zh',$data); } else { $data = str_replace('Æ','ZH',$data); } if (preg_match('/×[à-ÿ]/',$data)) { $data = str_replace('×','Ch',$data); } else { $data = str_replace('×','CH',$data); } if (preg_match('/Ø[à-ÿ]/',$data)) { $data = str_replace('Ø','Sh',$data); } else { $data = str_replace('Ø','SH',$data); } if (preg_match('/Ù[à-ÿ]/',$data)) { $data = str_replace('Ù','Sht',$data); } else { $data = str_replace('Ù','SHT',$data); } if (preg_match('/Þ[à-ÿ]/',$data)) { $data = str_replace('Þ','Iu',$data); } else { $data = str_replace('Þ','IU',$data); } if (preg_match('/ß[à-ÿ]/',$data)) { $data = str_replace('ß','Ia',$data); } else { $data = str_replace('ß','IA',$data); } $data = strtr($data,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÚÜÛÝÖ','ABVGDEZIYKLMNOPRSTUFHCC'); $data = str_replace('æ','zh',$data); $data = str_replace('÷','ch',$data); $data = str_replace('ø','sh',$data); $data = str_replace('ù','sht',$data); $data = str_replace('þ','iu',$data); $data = str_replace('ÿ','ja',$data); $data = strtr($data,'àáâãäåçèéêëìíîïðñòóôõüúüûýö','abvgdeziyklmnoprstufhcc'); return $data; } $f = fopen(php://stdin, r); while ($s = fread($f, 4096)) { if (valid_utf8($s)) print cyr_to_lat(iconv(UTF-8, Windows-1251, $s)); else print cyr_to_lat($s); } fclose($f); ? ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
Re: [Lug-bg] bash script конвертиране на кирилица към латиница !
Around 04/06/2011 12:16 PM, Georgi Chorbadzhiyski scribbled: Around 04/06/2011 11:47 AM, Ivaylo Toshev scribbled: Здравейте, Много спешно ми трябва някакъв инструмент, с който мога под bash да конвертирам кирилица към латиница. Най-добре поточно, през | . #!/usr/bin/env php ?php error_reporting(E_ALL); ...игнорирай прикачения файл, че в него е объркан encoding-а. Просто направи copy+paste на текста в писмото. -- Georgi Chorbadzhiyski http://georgi.unixsol.org/ ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
Re: [Lug-bg] bash script конвертиране на кирилица към латиница !
Мерси Жоро, На входа подавам валиден UTF-8 , обаче на изхода получавам същата кирилица в CP1251: [root@radon backup]# cat test.csv ТК СУХОДОЛ|ОКОЛОВРЪСТЕН ПЪТ 935 [root@radon backup]# cat test.csv | /home/edi/bin/cyr2lat.php |iconv -f CP1251 -t UTF-8 ТК СУХОДОЛ|ОКОЛОВCЪСТЕН ПЪТ 935 2011/4/6 Georgi Chorbadzhiyski g...@unixsol.org Around 04/06/2011 12:16 PM, Georgi Chorbadzhiyski scribbled: Around 04/06/2011 11:47 AM, Ivaylo Toshev scribbled: Здравейте, Много спешно ми трябва някакъв инструмент, с който мога под bash да конвертирам кирилица към латиница. Най-добре поточно, през | . #!/usr/bin/env php ?php error_reporting(E_ALL); ...игнорирай прикачения файл, че в него е объркан encoding-а. Просто направи copy+paste на текста в писмото. -- Georgi Chorbadzhiyski http://georgi.unixsol.org/ ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
Re: [Lug-bg] bash script конвертиране на кирилица към латиница !
Around 04/06/2011 02:00 PM, Ivaylo Toshev scribbled: Мерси Жоро, На входа подавам валиден UTF-8 , обаче на изхода получавам същата кирилица в CP1251: [root@radon backup]# cat test.csv ТК СУХОДОЛ|ОКОЛОВРЪСТЕН ПЪТ 935 [root@radon backup]# cat test.csv | /home/edi/bin/cyr2lat.php |iconv -f CP1251 -t UTF-8 ТК СУХОДОЛ|ОКОЛОВCЪСТЕН ПЪТ 935 По-принцип тествах с utf-8 вход, но е възможно и да не работи, зтова опитай с: iconv -futf8 -tcp1251 test.csv | /home/edi/bin/cyr2lat.php | iconv -f CP1251 -t UTF-8 Друга идея, виж дали php файлът е записан с 1251 кирилица в него, защото ако не е, няма да работи. -- Georgi Chorbadzhiyski http://georgi.unixsol.org/ ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
Re: [Lug-bg] bash script конвертиране на кирилица към латиница !
Това беше ключа от палатката - PHP скрипта беше UTF-8. Благодаря много ! 2011/4/6 Georgi Chorbadzhiyski g...@unixsol.org Around 04/06/2011 02:00 PM, Ivaylo Toshev scribbled: Мерси Жоро, На входа подавам валиден UTF-8 , обаче на изхода получавам същата кирилица в CP1251: [root@radon backup]# cat test.csv ТК СУХОДОЛ|ОКОЛОВРЪСТЕН ПЪТ 935 [root@radon backup]# cat test.csv | /home/edi/bin/cyr2lat.php |iconv -f CP1251 -t UTF-8 ТК СУХОДОЛ|ОКОЛОВCЪСТЕН ПЪТ 935 По-принцип тествах с utf-8 вход, но е възможно и да не работи, зтова опитай с: iconv -futf8 -tcp1251 test.csv | /home/edi/bin/cyr2lat.php | iconv -f CP1251 -t UTF-8 Друга идея, виж дали php файлът е записан с 1251 кирилица в него, защото ако не е, няма да работи. -- Georgi Chorbadzhiyski http://georgi.unixsol.org/ ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
Re: [Lug-bg] Bash gimnastiki
| Здравейте, | |Драсти, | | Искам първо да вметна, че не съм програмист и ползвам BASH |от дъжд на | вятър, т.е. пълен лаик. | | Ето и какво ме накара да пиша тук: | Реших с помощта на rrdtool да чертая графика на прихванатите |вируси от | антивирусната ми програма. За целта си направих един прост BASH | скрипт, който се изпълнява с помощта на procmail, когато се прихване | вирус от антивирусната програма, като целта му е да увеличава с | единица стойността на едно число - индекс: | | | #!/bin/bash | | virusvar=`/bin/cat /etc/rrdtool/mail/virus-count` | ((virusvar++)) | /bin/echo -n $virusvar /etc/rrdtool/virus/virus-count | | | | Всичко си сработва много добре, но когато сървъра се |натовари (т.к. си | е бая стар и е с много малко RAM памет) поредността на |числото, което | се записва във virus-count се обърква. Прави ми |впечатление, че това | се случва в момент, когато е натоварен и четенето/писането |от и във | virus-count става в почти един и същи момент. | | Много съм любопитен да разбера защо се случва това? | |Накратко, както обяси и Пенчев, твоя скрипт не е reentrant, |т.е. не е здравословно за се влиза в него докато предното му |изпълнение не е приключило защото има споделен ресурс, т.е. |файла и цялата операция става неопределена. | |Ето ти още две решения: | |1) брутално: procmail вика mktemp който създава празни файлове |с уникални имена в дадена директория и ти ги бройкаш от време |на време - нямам споделен ресурс, няма да хаби дисково |пространство, и едва ли ше удариш лимита по брой файлове на |файловата система ;-) | |2) чрез signal handlers (фнимателно със signal handlers, да са |много леки) |http://www.gnu.org/software/libc/manual/html_node/Nonreentrancy |.html#Nonreentrancy | |компилираш следната програмка: | |#include stdio.h |#include stdlib.h |#include signal.h | |/* This variable is set by the SIGALRM signal handler. */ |volatile sig_atomic_t flag = 0; |/* Ugly global counter */ |volatile long c = 0; | |void print_event() { |fprintf(stdout, %ld\n, c); |}; | |void register_event() { |++c; |}; | |int main (void) |{ |signal(SIGALRM, register_event); |signal(SIGUSR1, print_event); | |sigset_t block_alarm; |/* Initialize the signal mask. */ |sigemptyset (block_alarm); |sigaddset (block_alarm, SIGALRM); | |while (1) { |/* Check if a signal has arrived; if so, reset |the flag. */ |sigprocmask (SIG_BLOCK, block_alarm, NULL); |if (flag) |flag = 0; | |sigprocmask (SIG_UNBLOCK, block_alarm, NULL); |} |} | | |Казваш на procmail да й праща SIGALRM с kill -s когато дойде |вирус (това е доста по-бързо от отваряне и писане във файл;-), |а ти можеш да я тестваш за дуракоустойчивост така, ако |приемем, че се казва a.out: | |пращаш бройка сигнали (все едно пратени от procmail): |for a in `seq 1 100`; do kill -s SIGALRM `pidof a.out`; done | |питаш я колко са получени: |kill -s SIGUSR1 `pidof a.out` | |(трябва да е стартирана разбира се и пише на stdout) | |-- |pub 4096R/0E4BD0AB people.fccf.net/danchev/key pgp.mit.edu Много Ви благодаря за подробните разяснения. Реших да ползвам mktemp и в момента всичко си сработва. Поздрави и лека работа! Мартин Колев ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
Re: [Lug-bg] Bash gimnastiki
--cut-- Много Ви благодаря за подробните разяснения. Реших да ползвам mktemp и в момента всичко си сработва. Аз малко загрубих нещата като написах, че създадените празни файлове от mktemp не хабят място, но все пак файловата система ги регистрира изхабявайки няколкобайта за файл, зависи и от самата файлова система де, но горе-долу е нещо от рода на мегабайт за 50-100 хиляди файла. -- pub 4096R/0E4BD0AB people.fccf.net/danchev/key pgp.mit.edu ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
[Lug-bg] Bash gimnastiki
Здравейте, Искам първо да вметна, че не съм програмист и ползвам BASH от дъжд на вятър, т.е. пълен лаик. Ето и какво ме накара да пиша тук: Реших с помощта на rrdtool да чертая графика на прихванатите вируси от антивирусната ми програма. За целта си направих един прост BASH скрипт, който се изпълнява с помощта на procmail, когато се прихване вирус от антивирусната програма, като целта му е да увеличава с единица стойността на едно число - индекс: #!/bin/bash virusvar=`/bin/cat /etc/rrdtool/mail/virus-count` ((virusvar++)) /bin/echo -n $virusvar /etc/rrdtool/virus/virus-count Всичко си сработва много добре, но когато сървъра се натовари (т.к. си е бая стар и е с много малко RAM памет) поредността на числото, което се записва във virus-count се обърква. Прави ми впечатление, че това се случва в момент, когато е натоварен и четенето/писането от и във virus-count става в почти един и същи момент. Много съм любопитен да разбера защо се случва това? Поздрави, Мартин Колев ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
Re: [Lug-bg] Bash gimnastiki
On Sat, Oct 24, 2009 at 04:33:28PM +0300, Martin Kolev wrote: Здравейте, Искам първо да вметна, че не съм програмист и ползвам BASH от дъжд на вятър, т.е. пълен лаик. Ето и какво ме накара да пиша тук: Реших с помощта на rrdtool да чертая графика на прихванатите вируси от антивирусната ми програма. За целта си направих един прост BASH скрипт, който се изпълнява с помощта на procmail, когато се прихване вирус от антивирусната програма, като целта му е да увеличава с единица стойността на едно число - индекс: #!/bin/bash virusvar=`/bin/cat /etc/rrdtool/mail/virus-count` ((virusvar++)) /bin/echo -n $virusvar /etc/rrdtool/virus/virus-count Всичко си сработва много добре, но когато сървъра се натовари (т.к. си е бая стар и е с много малко RAM памет) поредността на числото, което се записва във virus-count се обърква. Прави ми впечатление, че това се случва в момент, когато е натоварен и четенето/писането от и във virus-count става в почти един и същи момент. Много съм любопитен да разбера защо се случва това? Стандартен случай на нужда от синхронизация при едновременен достъп до общ ресурс - често се среща, има готови решения. Накратко, това, което се случва, е, че може да получиш няколко такива съобщения почти едновременно и програмката ти да се изпълни няколко пъти, преди първите да са свършили съвсем. Тъй като цялото изпълнение на един шел-скрипт е доста сложна операция, особено когато се изпълняват и външни програми, напълно е възможно не само да бъдат пуснати няколко такива едновременно, ами и да си прехвърлят топката по време на изпълнение - да се изпълни някаква част от първия, после някаква част от втория, после пак някаква част от първия, после малко от третия и т.н. Пример: 1. Идва съобщение А, стартира се скриптът за него (да кажем скрипт А) 2. Скрипт А чете virus-count, прочита стойност 510 3. Идва съобщение Б, стартира се скриптът за него (да каем скрипт Б) 4. Скрипт Б чете virus-count, *и той прочита 510* 5. Скрипт А увеличава 510 с 1, получава 511, записва 511 във virus-count 6. Скрипт Б увеличава 510 с 1, получава 511, записва 511 във virus-count Ако тръгнат да се изпълняват едновременно три копия на скриптчето, може да се получат даже по-забавни неща, като virus-count от 510 да стане първо 511, после 512 и накрая пак 511 :) Решението при съвременните Unix-системи е просто - има програмка, която понякога се казва lockfile, друг път flock, и се изпълнява по леко различни начини, но идеята й е да създаде специален файл и тогава да изпълни твоята програма - особеното е, че ако специалният файл вече съществува или вече е заключен, lockfile чака, докато другият го отключи. По този начин, тъй като lockfile заключва файла, изпълнява твоята програма и после отключва файла, е на практика сигурно, че твоята програма няма да бъде изпълнена два пъти едновременно. Опитай през procmail да пускаш твоето скриптче не направо, а през lockfile с някакво избрано от теб име на файл: lockfile /var/lock/virus-count /usr/bin/increase-virus-count ...където /usr/bin/increase-virus-count е твоето скриптче. Поздрави, Петър -- Peter Pentchev r...@ringlet.netr...@space.bgr...@freebsd.org PGP key:http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 This sentence would be seven words long if it were six words shorter. pgp9U9Nw8l5wP.pgp Description: PGP signature ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
Re: [Lug-bg] Bash gimnastiki
Здравейте, Драсти, Искам първо да вметна, че не съм програмист и ползвам BASH от дъжд на вятър, т.е. пълен лаик. Ето и какво ме накара да пиша тук: Реших с помощта на rrdtool да чертая графика на прихванатите вируси от антивирусната ми програма. За целта си направих един прост BASH скрипт, който се изпълнява с помощта на procmail, когато се прихване вирус от антивирусната програма, като целта му е да увеличава с единица стойността на едно число - индекс: #!/bin/bash virusvar=`/bin/cat /etc/rrdtool/mail/virus-count` ((virusvar++)) /bin/echo -n $virusvar /etc/rrdtool/virus/virus-count Всичко си сработва много добре, но когато сървъра се натовари (т.к. си е бая стар и е с много малко RAM памет) поредността на числото, което се записва във virus-count се обърква. Прави ми впечатление, че това се случва в момент, когато е натоварен и четенето/писането от и във virus-count става в почти един и същи момент. Много съм любопитен да разбера защо се случва това? Накратко, както обяси и Пенчев, твоя скрипт не е reentrant, т.е. не е здравословно за се влиза в него докато предното му изпълнение не е приключило защото има споделен ресурс, т.е. файла и цялата операция става неопределена. Ето ти още две решения: 1) брутално: procmail вика mktemp който създава празни файлове с уникални имена в дадена директория и ти ги бройкаш от време на време - нямам споделен ресурс, няма да хаби дисково пространство, и едва ли ше удариш лимита по брой файлове на файловата система ;-) 2) чрез signal handlers (фнимателно със signal handlers, да са много леки) http://www.gnu.org/software/libc/manual/html_node/Nonreentrancy.html#Nonreentrancy компилираш следната програмка: #include stdio.h #include stdlib.h #include signal.h /* This variable is set by the SIGALRM signal handler. */ volatile sig_atomic_t flag = 0; /* Ugly global counter */ volatile long c = 0; void print_event() { fprintf(stdout, %ld\n, c); }; void register_event() { ++c; }; int main (void) { signal(SIGALRM, register_event); signal(SIGUSR1, print_event); sigset_t block_alarm; /* Initialize the signal mask. */ sigemptyset (block_alarm); sigaddset (block_alarm, SIGALRM); while (1) { /* Check if a signal has arrived; if so, reset the flag. */ sigprocmask (SIG_BLOCK, block_alarm, NULL); if (flag) flag = 0; sigprocmask (SIG_UNBLOCK, block_alarm, NULL); } } Казваш на procmail да й праща SIGALRM с kill -s когато дойде вирус (това е доста по-бързо от отваряне и писане във файл;-), а ти можеш да я тестваш за дуракоустойчивост така, ако приемем, че се казва a.out: пращаш бройка сигнали (все едно пратени от procmail): for a in `seq 1 100`; do kill -s SIGALRM `pidof a.out`; done питаш я колко са получени: kill -s SIGUSR1 `pidof a.out` (трябва да е стартирана разбира се и пише на stdout) -- pub 4096R/0E4BD0AB people.fccf.net/danchev/key pgp.mit.edu signature.asc Description: This is a digitally signed message part. ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
Re: [Lug-bg] bash glibc 2.4 problem
On Tue, May 01, 2007 at 07:51:06PM +0300, Danail Petrov wrote: Daniel Jelev wrote: Здравейте! Днес реших да ъпдейтна добрият стар Слак 10.2, използвам swaret. Ъпдейтвам си и гледам грешка на последния пакет (bash) Last login: Sun Apr 29 14:20:05 2007 from 172.16.73.30 http://172.16.73.30 Linux 2.4.31. -bash: /lib/libc.so.6: version `GLIBC_2.4' not found (required by -bash) Connection to *** closed. Пробвах да кача ГлибС 2.5, но [EMAIL PROTECTED]:~/glibc-2.5# ./configure /bin/sh: /lib/libc.so.6: version `GLIBC_2.4' not found (required by /bin/sh) Ще бъда много благодарен ако някой ми помогне да оправя този проблем без да се налага да преинсталирам. Благодаря предварително. Тцтцтц ... еййй , тоя slackware ... така и не му оправиха пакетната система ... Хм... абе чудя се колко смисъл е имало точно в такова едно мнение - като оставим настрана цялата история с пакетната система на Slackware през годините, все пак трябва да се вземе предвид това, че тук става дума за обновяване до най-новия Slackware, в който има сериозна качествена промяна в разпределението на нещата по пакети, и за който *няма* package manager, който да се справи с обновяването... Това си се случва от време на време на всяка операционна система или дистрибуция или каквото там - при някой скок между версии да има качествени промени, които налагат задължително ръчни побутвания оттук-оттам. Поздрави, Петър -- Peter Pentchev [EMAIL PROTECTED][EMAIL PROTECTED][EMAIL PROTECTED] PGP key:http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 If the meanings of 'true' and 'false' were switched, then this sentence wouldn't be false. pgpu12W345blP.pgp Description: PGP signature ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
[Lug-bg] bash glibc 2.4 problem
Здравейте! Днес реших да ъпдейтна добрият стар Слак 10.2, използвам swaret. Ъпдейтвам си и гледам грешка на последния пакет (bash) Last login: Sun Apr 29 14:20:05 2007 from 172.16.73.30 Linux 2.4.31. -bash: /lib/libc.so.6: version `GLIBC_2.4' not found (required by -bash) Connection to *** closed. Пробвах да кача ГлибС 2.5, но [EMAIL PROTECTED]:~/glibc-2.5# ./configure /bin/sh: /lib/libc.so.6: version `GLIBC_2.4' not found (required by /bin/sh) Ще бъда много благодарен ако някой ми помогне да оправя този проблем без да се налага да преинсталирам. Благодаря предварително. -- Daniel Jelev Student at *PST* BTK, Sofia www.sgate.org ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
Re: [Lug-bg] bash glibc 2.4 problem
Daniel Jelev wrote: Здравейте! Днес реших да ъпдейтна добрият стар Слак 10.2, използвам swaret. Голяма грешка. До -current се обновява по следният начин: http://mirrors.unixsol.org/slackware/current/UPGRADE.TXT -- Georgi Chorbadzhiyski http://georgi.unixsol.org/ ___ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg
lug-bg: Bash function
, , . .,: function myscp(){ scp -r [EMAIL PROTECTED]:/www/.bit/$1 . } (myscp neshto.oshte), neshto.oshte , , neshto.oshte: Not a directory -r, . ?alias? ! , A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers). http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
Re: lug-bg: Bash function
Nickolay Kolev wrote: , . .,: function myscp(){ scp -r [EMAIL PROTECTED]:/www/.bit/$1 . } (myscp neshto.oshte), neshto.oshte , , neshto.oshte: Not a directory -r, . ?alias? ! debug- set -x . . set -x myscp nesto.oshte set +x -- Georgi Chorbadzhiyski http://georgi.unixsol.org/ A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers). http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
Re: lug-bg: Bash function
Nickolay Kolev wrote: , , . .,: function myscp(){ scp -r [EMAIL PROTECTED]:/www/.bit/$1 . } (myscp neshto.oshte), neshto.oshte , , neshto.oshte: Not a directory -r, . ?alias? ! , function myscp(){ scp -r [EMAIL PROTECTED]:/www/.bit/$1/ . } -- Regards: Romeo Ninov A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers). http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
Re: lug-bg: bash XF86Config
Valentin Stoykov wrote: XF86Config (/dev/mouse).- , . s_flag=s5 # ... if [ -r $XF86Config_new_location ]; then cat $XF86Config_new_location | while read LINE ; do #^! if echo $LINE | grep -i Section | grep -i \Device\ 1 /dev/null ; then if [ $s_flag = s2 ] ; then echo : Section \Device\ else s_flag=s1 fi fi if [ $s_flag = s1 ]; then if echo $LINE | grep -i Identifier 1 /dev/null ; then echo Identifier \$IDENT_CARD\ $XF86Config_location else echo $LINE $XF86Config_location fi fi if echo $LINE | grep -i EndSection 1 /dev/null ; then if [ $s_flag = s1 ]; then s_flag=s2 fi fi # echo s_flag : $s_flag # done else echo $XF86Config_new_location fi # echo s_flag : $s_flag # s5. (pipes) bash (subshell), , - . http://www.tldp.org/LDP/abs/html/subshells.html Advanced Bash Scripting Guide: http://www.tldp.org/LDP/abs/html/ -- Sava Chankov, research and development http://www.blueboard.biz A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers). http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
lug-bg: bash XF86Config
XF86Config (/dev/mouse). -, . : ===== s_flag=s5 # ... if [ -r $XF86Config_new_location ]; then cat $XF86Config_new_location | while read LINE ; do * * * * s_flag, s5 * * * * # echo s_flag : $s_flag # done else echo $XF86Config_new_location fi # echo s_flag : $s_flag # s5. === / == : #!/bin/sh echo rc.hwconfig... date IDENT_MONITOR=Auto_Configured_Monitor IDENT_CARD=Auto_Configured_Card IDENT_SCREEN=Auto_Configured_Screen XF86Config_location=/etc/X11/XF86Config XF86Config_new_location=/root/XF86Config.new rm -f $XF86Config_new_location #/root/XF86Config.new, . ERR_MSG=`/usr/X11R6/bin/XFree86 -configure 21` if [ ! $? = 0 ]; then echo XFree86: echo $ERR_MSG # exit echo ... fi rm -f $XF86Config_location #XF86Config, . cat $XF86Config_location EOF # # ** # man XF86Config(4/5) , # . # ** # ** # Module section -- this section is used to specify # which dynamically loadable modules to load. # ** # Section Module # This loads the DBE extension module. Loaddbe # Double buffer extension # This loads the miscellaneous extensions module, and disables # initialisation of the XFree86-DGA extension within that module. SubSection extmod Optionomit xfree86-dga # don't initialise the DGA extension EndSubSection # This loads the font modules #Loadtype1 Loadfreetype #Loadspeedo # This loads the GLX module Load glx EndSection # ** # Files section. This allows default font and rgb paths to be set # ** Section Files # The location of the RGB database. Note, this is the name of the # file minus the extension (like .txt or .db). There is normally # no need to change the default. RgbPath /usr/X11R6/lib/X11/rgb # Multiple FontPath entries are allowed (which are concatenated together), # as well as specifying multiple comma-separated entries in one FontPath # command (or a combination of both methods) # # If you don't have a floating point coprocessor and emacs, Mosaic or other # programs take long to start up, try moving the Type1 and Speedo directory # to the end of this list (or comment them out). # FontPath /usr/X11R6/lib/X11/fonts/bg/bolkhov/cp1251/misc FontPath /usr/X11R6/lib/X11/fonts/bg/bolkhov/cp1251/75dpi FontPath /usr/X11R6/lib/X11/fonts/bg/cronyx/cp1251/100dpi FontPath /usr/X11R6/lib/X11/fonts/bg/misc FontPath /usr/X11R6/lib/X11/fonts/misc/ # ModulePath can be used to set a search path for the X server modules. # The default path is shown here. #ModulePath /usr/X11R6/lib/modules EndSection # ** # Server flags section. # ** Section ServerFlags Option AllowMouseOpenFail true # Uncomment this to cause a core dump at the spot where a signal is # received. This may leave the console in an unusable state, but may # provide a better stack trace in the core dump to aid in debugging #Option NoTrapSignals # Uncomment this to disable the CrtlAltFn VT switch sequence # (where n is 1 through 12). This allows clients to receive these key # events. #Option DontVTSwitch # Uncomment this to disable the CrtlAltBS server abort sequence # This allows clients to receive this key event. #Option DontZap # Uncomment this to disable the CrtlAltKP_+/KP_- mode switching # sequences. This allows clients to receive these key events. #Option DontZoom # Uncomment this to disable tuning with the xvidtune client. With # it the client can still run and fetch card and monitor attributes, # but it will not be allowed to change them. If it tries it will # receive a protocol error. #Option DisableVidModeExtension # Uncomment this to enable the use of a non-local xvidtune client. #Option AllowNonLocalXvidtune # Uncomment this to disable dynamically modifying the input device # (mouse and keyboard) settings. #Option DisableModInDev # Uncomment this to enable the use of a non-local client to # change the keyboard or mouse settings (currently only xset). #Option AllowNonLocalModInDev # Set the basic blanking screen saver timeout. #Option blank time10# 10 minutes # Set the DPMS timeouts. These are set here because they
lug-bg: [bash] $IFS
nqkoi ima li ideq kak da setna $IFS na \n, taka che da splitwa na wseki now red.. w momenta go prawq eto taka : IFS= Ama taka e mnogo grozno :( thanx raptor A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers). http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
lug-bg: BASH!
Zdravejte na vsi4ki... Ot sravnitelno skoro se zanimavam s Linux...Predi edna sedmica si slojih RedHat 7.3 i imam sledniq stranen problem..s bash. 6te dam konkretniq primer za problema: [root@HADES Projects]# pwd /tmp/Projects [root@HADES Projects]# ls bash: ./../bin/../bin/ls: No such file or directory [root@HADES Projects]# cd .. [root@HADES tmp]# ls 116368ddedf4577c25.details dict2.2 Tova e kogato sum v X i si pusna konzola...i po4na da prava ne6to...Zna4i problema e takuv ponqkoga kogato vleza v pove4e ot 1 poddirektorii i napi6a ls bash ne mi q namira..i ne q izpulnqva. I po interesnoto e 4e ponqkoga ls si raboti normalno...v su6tata sesia v koqto ne e rabotil predi 10 min. A vsi4koto tova stava na 4ista instalaciq na RedHat...Drugoto koeto zabelqzah e 4e ako otvora pove4e ot 1 konzoli...v edna ls moje da raboti a v druga da ne raboti...mnogo stranno... I ne znam kvo da prava ve4e... :)) Ako nqkoj ima predstava ot kvo moje da e tva...molja da mi napi6e...mersi predvaritelno... A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers). http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
Re: lug-bg: BASH!
On Sat, 25 May 2002 14:04:27 +0300, qcure wrote: [cut] za problema: [root@HADES Projects]# pwd /tmp/Projects [root@HADES Projects]# ls bash: ./../bin/../bin/ls: No such file or directory Znachi toi samiq bash ti go kazva ./../bin/../bin/ls -- tova ne e statichen pyt (ili kazano inache path), a zavisi ot tekushtata direktoriq. Problema ti e v nastroikata na paths, t.e. kogato mu napishesh ls bash se opitva da ti go tyrsi v mestata za mu e ukazano v sluchaq ./../bin/../bin/ znachi kato si v /tmp nqmash problemi, zashtoto edna direktoriq nazad ti e root direktoriqta a ls se namira v /bin/ t.e. ./../ - te vryshta edno nivo po-nadolu posledvashtoto bin/../bin/ vliza v bin/ izliza ../ i pak vliza bin/. Relativen path ne e dobra ideq i naj-veroqtno se dylji na greshka pri configuraciq. Path ukazanieto e vyzmojno da se namira v /etc/profile ili vyv fail sys shodno ime v /etc/ direktoriqta, kakto i vyv home direktoriqta ti ~/ pod imeto .profile ili .bashrc . Vij za deklarirane na environment promenliva s ime PATH. Obiknoveno trqbva da sydyrja neshto ot roda na: PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/sbin/:/usr/loca l/sbin/ [cut] BRGDS Stefan Myankov, [EMAIL PROTECTED] on 26/05/2002 A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers). http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
lug-bg: BASH linmits !
Ot vreme navreme popisvam po niakoi - drug script, i otkrih slednia limit na bash. Kogato se definira promenliva, primerno: VAR=124124324, Vsichko e OK, obache ako zapochne natrupvane po tazi promenliva to maximalnoto chislo, koeto moje tia da suhrani e 2147483648 Ima li nachin da se definira po-goliam tip ? === A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers) http://www.linux-bulgaria.org/ Hosted by Internet Group Ltd. - Stara Zagora
lug-bg: bash scripting
Zdrawejte , interesuwa me ima li nachin chrez script na bash ili na nqkoj drug ot shell scriptowete da move da se obrabotwat dannite ot WEB Formi. Trqbwa mi da wzemat dannite ot formata i sled towa da se slovat w hesh masiw kakto e pri perl. Namerenno e edno takowa chudo no to ne raboti kakto trqbwa :(. Az po princip mnogo malko sym se zanimawal s pisane na scriptowe za nqkoj ot shelowete. S predwaritelni blagodarnosti , Ivan. __ Do You Yahoo!? Get email at your own domain with Yahoo! Mail. http://personal.mail.yahoo.com/ == A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers) Otpiswaneto RABOTI !!! : [EMAIL PROTECTED] UNSUBSCRIBE LUG-BG http://www.linux-bulgaria.org/ Hosted by Internet Group Ltd. - Stara Zagora