W dniu 7 maja 2012 23:19 użytkownik Tomasz Pala <[email protected]> napisał: > On Mon, May 07, 2012 at 11:44:02 +0200, Bartosz Świątek wrote: > >>>> Skoro już poprawiasz, to zwracam uwagę na to że backticks są obsolete >>> >>> URL? >> >> Pierwszy z brzegu wraz z wytłumaczeniem dlaczego: >> http://wiki.bash-hackers.org/syntax/expansion/cmdsubst >> >> Cyt: >> "The second form `COMMAND` is more or less obsolete for Bash, since it >> has some trouble with nesting ("inner" backticks need to be escaped) >> and escaping characters. Use $(COMMAND), it's also POSIX! " >> >> Tu wprawdzie mowa o Bashu, ale to dotyczy wszystkich shelli z nim >> kompatybilnych. > > To przeczytaj ten tekst ponownie, a później raz jeszcze, i znowu, aż > zrozumiesz co tam jest napisane. Backticks w żadnym razie NIE SĄ > obsoleted, gdyż są częścią POSIX/SUS, tak samo jak 'zakaz' stosowania > instrukcji goto nie wynika z żadnego standardu, ani wcięcia w kodzie > (poza whitespacem czy pythonem). To, że bashoskrypciarze zazwyczaj nie > potrafią ogarnąć żadnego zagnieżdżania, to tylko problem ich nędznego > shella. Zresztą 'shell kompatybilny z bashem' to też niezły żart. > > Uprasza się zatem o nie rozpowszechnianie pół czy ćwierćprawd.
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 $(...) 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." No to ja już nie wiem, Tomasz, chyba faktycznie coś mi się zdrowo popieprzyło* ;-) *ironia A teraz zacytuję Ciebie: "Uprasza się zatem o nie rozpowszechnianie pół czy ćwierćprawd." Pozdrawiam, b -- "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
