ivan demakov -> debian-russian@lists.debian.org @ Tue, 29 Sep 2009 18:18:30 +0700:
>> >> Могут ли имена gnu-опций содержать пробелы? >> >> Типа: >> >> >> >> --"option with spaces"="value with spaces" >> >> SM> man getopt ничего про это не говорит. Проще проверить, взяв, >> SM> например, за образец код из того же мануала. >> >> SM> Теоретически, если опции с пробелами допустимы, то как, например, >> SM> интерпретировать >> >> SM> "--foo bar=x" >> >> SM> как "--foo" со значением "bar=x" или "--foo bar" со значением "x"? >> >> Я бы предположил, что gnu getopt, получив _одну_ строку, должна искать в >> ней '=', а не пробелы. Потому что штатный синтаксис у нее либо >> --opt=val (_один_ элемент argv), либо --opt val (_два_ элемента argv). >> >> Хотя, конечно, с этих гнушников станется... >> id> ~$ ls "--foobar=asd" id> ls: unrecognized option '--foobar=asd' id> Try `ls --help' for more information. id> ~$ ls "--foo bar=asd" id> ls: unrecognized option '--foo bar=asd' id> Try `ls --help' for more information. id> что бы это значило? Unrecognized option, очевидно. Знак "=" ищется только для тех опций, которые описаны как имеющие аргумент. Кстати, спасибо за идею указания на программу, на которой проверить. Итак, zsh% ls --format commas tmp/test-ca testca*, TestCA/ zsh% ls '--format=commas' tmp/test-ca testca*, TestCA/ zsh% ls '--format commas' tmp/test-ca ls: нераспознанный ключ `--format commas' Итого, мое предположение похоже на верное. -- А еще следует потребовать, чтобы программисты, перед тем, как писать код, внимательно прочли спецификацию: с сыром - это чизбургер. Игус в <pine.lnx.4.44.0401231840020.15582-100...@moon> -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org