> Dmitry Alexandrov <321...@gmail.com> wrote: >> >> Можно заменить на print (этот >> >> обязан быть builtin'ом) и посмотреть, будет ли разница. >> > Не будет :) >> > % bash -c 'which printf' >> > /usr/bin/printf >> > % dash -c 'which printf' >> > /usr/bin/printf > >> ??$ which which?? еще прикажите. > >> А так и в ГНУ Баше, и в Дебиановом Аше встроенный printf, разумеется, есть. > >> $ bash -c 'type printf' >> printf is a shell builtin >> $ dash -c 'type printf' >> printf is a shell builtin > > Проще command -v ${command}
Пардон, для чего проще? Для программной проверки, быть может, и так, но для восприятия человеком (как здесь) — боюсь, что нет. > оно если с полным путем, то бинарь на диске, Да не обязательно с полным. Если подать на вход относительный, то он его и вернет, при условии, что по нему есть исполняемость. $ command -v .bin/chdate .bin/chdate Или если в «$PATH» за каким-то чертом внесен относительный путь, то также именно он и будет возвращен. $ export PATH=".:$PATH" $ cd .bin $ command -v chdate ./chdate > если нет - то builtin. Или функция, или элемент синтаксиса языка (как «if», например).