On Sun, 24 Jan 2016, Alex Kicelew wrote:
On 01/24/16 00:55, dimas wrote:да уж, прикол... а кто-нибудь может объяснить, почему в случае с touch "-l" аргумент в кавычках все равно парсится как ключ?Кавычки видит шелл. если сказать touch "-1 -2", шелл передаст тачу один параметр с пробелом посередине. А тач уже увидит один параметр безо всяких кавычек, начинающийся с дефиса, и начнет его по этой причине парсить как флаг.
Могу еще добавить для тех кто С немножко знает. Посмотрите > man 3 getopt В секции EXAMPLE есть работающие программы с примером разбора аргументов. На практике, обычно эти функции и используют для анализа опций командной строки. Можно скомпилировать, поиграться и разобраться, что делает шелл и что видит программа на входе. Ю.