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ść). > *ironia > > A teraz zacytuję Ciebie: > > "Uprasza się zatem o nie rozpowszechnianie pół czy ćwierćprawd." Będziesz dalej brnął, czy może mi wskażesz odpowiedni fragment standardu? Kto wie, może faktycznie jakiś przeoczyłem. -- Tomasz Pala <[email protected]> _______________________________________________ pld-devel-pl mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
