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 есть работающие программы с примером
разбора аргументов.
На практике, обычно эти функции и используют для анализа
опций командной строки.
Можно скомпилировать, поиграться и разобраться,
что делает шелл и что видит программа на входе.
Ю.