Имеется команда:
ls -l -a && less build.sh
Команда - стоит на первом месте
Значение команды идет сразу после команды (если оно есть)
Опции - идут с префиксом '-' или '--', следуют за командой
Для bash не имеет значения, опции ли это и с чего они начинаются. bash рассматривает их просто как слова, которые он после неких трансформаций (таких как brace expansion, tilde expansion, parameter and variable expansion, command substitution, arithmetic expansion, word splitting и pathname expansion) передаёт как параметры запускаемой команде.
Требуется построить древо вызова... Сейчас имеется алгоритм который сплитами и циклами строит подобное дерево. Суть вопроса, какие подводные камни могут встретиться?
Зависит от того, каким должно быть это дерево вызова и какой объём возможного синтаксиса требуется поддерживать. Подводных камней -- масса, начать можно с кавычек в параметрах.
Существует ли документ, показывающий иерархию (приоритет) выполнения комманд, как, например, в java ?
man 1 bash