Серпень 11th, 2008
Будь-який bash-скрипт починається з магічного напису #!/bin/bash. Ті, хто уважно читав підручники, можуть навіть пригадати, що магічними насправді є лише символи #!, а все, що за ними — шлях до інтерпретатору. Але мало кому відомо, що в якості останньго зовсім не обов’язково використовувати одну з багатьох різновидностей sh. Залежно від змісту файлу можна вказати /bin/perl або /usr/bin/awk. А можна взагалі обійтися без вказування інтерпретатору. (ще…)
Категорії: bash |
Теґи:bash, linux, скрипти | Кометарів немає
Липень 28th, 2008
Таке цікаве завдання було запропоновано якось на російському лінуксфорумі. Виконати базові операції (передивитися, редагувати, видалити) над файлом з назвою --help. Всі розуміють, що просто так вказати cat --help не вийде — програма сприйме ім’я файлу як опцію. Що ж робити?
Насправді, все просто. Є два способи вирішення проблеми, і обидва вони вказані в man rm. По-перше, можна вказати повну адресу файлу: rm ./--help. По-друге, менш відомий спосіб, можна вказати -- перед аргументом: rm -- --help.
Другий спосіб буде працювати не завжди, а лише у програмах, які для обробки переданого командного рядка використовують функцію getopt. Втім, так роблять майже всі програми, окрім найдавніших. Очевидно, через те, що сама фукнція з’явилась не так давно (за юніксовими мірками
). Такі старі та поважні програми, як tar, дозволяють собі мати власні правила задання опцій. Та ж сама команда tar -xvf --help має цілком нормально виконатись.
Категорії: linux |
Теґи:bash, linux | Кометарів немає