> From: Aleksey Cheusov > Date: Wed, 06 Jun 2007 11:43:54 +0300 [] > comp.unix.shell FAQ > > http://groups.google.com/group/comp.unix.shell/browse_thread/thread/5075fe6c19ddabb9/7a08dffe06316a29?lnk=st&q=comp.unix.shell+faq+pipe+status&rnum=7&hl=en#7a08dffe06316a29
Там пример в посикс шэле, а баги всё равно эвойдят: |-*- if [ "x$a" = 'x|' ]; then |-*- В шелах было время, когда пустота в строковых сравнениях неадекватно работала. Впрочем в арифметических сравнениях она и по сей день неадекватно работает (: |-*- [EMAIL PROTECTED]:/tmp$ bash -c "test '' -eq 0 ; echo \$?" bash: line 0: test: : integer expression expected 2 [EMAIL PROTECTED]:/tmp$ dash -c "test '' -eq 0 ; echo \$?" 0 [EMAIL PROTECTED]:/tmp$ busybox sh -c "test '' -eq 0 ; echo \$?" 0 [EMAIL PROTECTED]:/tmp$ |-*- Ага, баш всё таки более прошареный? |-*- [EMAIL PROTECTED]:/tmp$ bash -c -v "test \"printf '\t'\" -eq 0 ; echo \$?" test " " -eq 0 ; echo $? 0 [EMAIL PROTECTED]:/tmp$ bash -c -v "test \"printf ' '\" -eq 0 ; echo \$?" test " " -eq 0 ; echo $? 0 [EMAIL PROTECTED]:/tmp$ bash -c -v "test \"printf 'a'\" -eq 0 ; echo \$?" test "a" -eq 0 ; echo $? bash: line 0: test: a: integer expression expected 2 [EMAIL PROTECTED]:/tmp$ |-*- Что это, kит юникса -- shell -- десятилетия спустя ... работает с фичами? Кто-то может сказать, что перл в этом не виноват. Почему тогда перл, не ваш "шел"? Почему перл? Читая ту книжку я понял так, что набор юникс утилит всё время сосал. Гну проект как-то пытался улучшить ситуацию, а дядя Ларри пошёл по другому пути. Таким образом всё стало быдло-скрипто-кодерством (ещё до жабаскрипта и пых-пыха :). ____ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]