Вилучити файл --somefile

Таке цікаве завдання було запропоновано якось на російському лінуксфорумі. Виконати базові операції (передивитися, редагувати, видалити) над файлом з назвою --help. Всі розуміють, що просто так вказати cat --help не вийде — програма сприйме ім'я файлу як опцію. Що ж робити?

Насправді, все просто. Є два способи вирішення проблеми, і обидва вони вказані в man rm. По-перше, можна вказати повну адресу файлу: rm ./--help. По-друге, менш відомий спосіб, можна вказати -- перед аргументом: rm -- --help.

Другий спосіб буде працювати не завжди, а лише у програмах, які для обробки переданого командного рядка використовують функцію getopt. Втім, так роблять майже всі програми, окрім найдавніших. Очевидно, через те, що сама фукнція з'явилась не так давно (за юніксовими мірками ;)). Такі старі та поважні програми, як tar, дозволяють собі мати власні правила задання опцій. Та ж сама команда tar -xvf --help має цілком нормально виконатись.

--Whirlwind 17:28, 17 липня 2008 (UTC)


не по темі: Виявилось, дописи вилучити не можна. Упс, сорі. Постараюсь виправитись, написавши щось схоже на корисне :)