ОС: OS X; Клиент: Terminal; Оболочки: sh, bash
Я пишу сценарий оболочки, который добавляет уровень абстракции к команде ls
. Я хочу сделать ее "неубиваемой", поэтому я начал с выяснения всех возможных команд, которые ls
может принять (через [ls(1) - страница руководства Linux][1]), чтобы я мог выполнить еще один уровень проверки/контроля опций, передаваемых через командную строку.
Прежде чем зайти слишком далеко в мой сценарий, я решил посмотреть, каково нормальное функционирование ls
для некоторой длинной опции (двойной дефис). Я попробовал несколько из них, и каждый из них оказался неудачным в той или иной степени. Например, результат выполнения ls --ignore-backups
таков:
<dir> <username>$ ls --ignore-backups
ls: illegal option -- -
usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]
Вышеприведенный результат был одинаковым независимо от того, выполнял ли я его через sh или bash (что, как я знаю, должно быть очевидно для более опытных пользователей).
В этот момент я запустил man ls
, который показал мне, что версия ls
на моей машине принимает только однобуквенные опции.
ПРИМЕЧАНИЕ: Я относительно новичок в создании сценариев shell и не уверен, что задаю правильный вопрос (вопросы).