W dniu 8 maja 2012 11:42 użytkownik Bartosz Świątek <[email protected]> napisał: > W dniu 8 maja 2012 11:13 użytkownik Tomasz Pala <[email protected]> napisał: >> On Mon, May 07, 2012 at 23:50:50 +0200, Bartosz Świątek wrote: >> >>> Bez wątpienia masz rację, a autorzy takiego np. korn shella to skończeni >>> idioci: >>> >>> $ cat backticks.sh >>> cmd=`uname -n` >>> echo $cmd >>> $ ksh -n backticks.sh >>> backticks.sh: warning: line 1: `...` obsolete, use $(...) >> >> Autorzy korn shella mogą sobie zobsoletować czego tylko pragną, bo nie >> mają wpływu na standard ani nie maja obowiązku implementować go w >> całości. Mogą na przykład zaimplementować firmware do sokowirówki. >> >>> Tak sprawdzając sobie w google to co sobie tam wypisujesz znalazłem np: >>> >>> http://comments.gmane.org/gmane.linux.busybox/26122 >>> >>> gdzie wypisywane są wg Ciebie takie bzdury jak: >>> >>> "Do not forget that back-ticks are not POSIX, while $() is. Even bash >>> considers the use of back-ticks (backquotes) to be /old-style/." >>> >>> Ale co tam jakiś koleś będzie nam mówił jak jest, szukamy dalej, może >>> ludzie z IBMa będą mądrzejsi: >>> http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.baseadmn/doc/baseadmndita/korn_shell_comm_sub.htm >>> >>> a tam taki gruby NOTE: >>> >>> "Note: Although the backquote syntax is accepted by ksh, it is >>> considered obsolete by the X/Open Portability Guide Issue 4 and POSIX >>> standards. These standards recommend that portable applications use >>> the $(command) syntax." >> >> Ale czego ty w googlu szukasz, nie umiesz zajrzeć do źródła? Bez tego >> będziesz całe życie powtarzał zasłyszane w autobusie bzdury, skończ im >> wierzyć. I jeszcze jedna rada - powołując się na standard, racz spojrzeć >> na jego daty, bo XPG4 jest z lipica 1992 bazując na jeszcze starszym >> POSIX, natomiast SUSv4 to 2008. Cytując rozdział XCU, sekcję 2.6.3: >> >> "Command substitution shall occur when the command is enclosed as follows: >> >> $(command) >> >> or (backquoted version): >> >> `command`" >> >> [...] >> >> "Command substitution can be nested. To specify nesting within the >> backquoted version, the application shall precede the inner backquotes with >> <backslash> characters; for example: >> >> \`command\`" >> >>> No to ja już nie wiem, Tomasz, chyba faktycznie coś mi się zdrowo >>> popieprzyło* ;-) >> >> Nie bądź taki surowy dla siebie, po prostu nie zauważyłeś upływu 20 lat. >> Albo nigdy w życiu nie czytałeś specyfikacji, a teraz na gwałt szukasz >> potwierdzenia (już mi się nawet nie chce sprawdzać, z jak zabytkowymi >> standardami jest ten powołany AIX zgodny, ale molochy typu IBM zwykle >> mają ogromną bezwładność). > > Ach no moze masz i racje. Tez mi sie nie chce szukac co i jak i z jaka data. > Poki co zwracam honor.
Zupełnie już na marginesie, tutaj również ciekawa dyskusja na ten sam temat: https://plus.google.com/111049168280159033135/posts/C24Jz7cX28G Standard podaje niby inaczej, literatura inaczej, różne shelle inaczej, a każdy mówi że jest zgodny z posiksem. Mimo to, będę się upierał, że używanie $() nad `` jest lepsze bo czytelniejsze i sprawia mniej kłopotów. -- "I'm living proof if you do one thing right in your career, you can coast for a long time. A LOOOOONG time." -Guy Kawasaki _______________________________________________ pld-devel-pl mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
