При написании сценариев для linux существуют ли какие-либо рекомендации относительно того, использовать ли абсолютные пути или нет при вызове системных двоичных файлов? Например, я работаю над установщиком, и есть множество копий, изменений прав, изменений службы и т. Д. c. Изначально они были абсолютно абсолютными, но когда я проверял один из пакетов, сгенерированных с помощью Lintain, он не был доволен абсолютными путями.
1) Должен ли я делать / bin / cp, / usr / sbin / useradd или cp, useradd и предположим, что $ PATH будет настроен правильно (что, если он был скомпрометирован?)
Просматривая стандарты FSSTND и FHS, они перечисляют некоторые конкретные c двоичные файлы и где они должны быть установлен, но есть много других (таких как systemctl), которые могут находиться в разных местах в зависимости от дистрибутива.
2) Есть ли способ создать локализованный путь поиска в скрипте, например, не использовать $ PATH, но, возможно, что-то например, TRUST_PATH=/bin;/usr/bin;/usr/sbin;/sbin
, а затем использовать их только в качестве пути поиска в сценарии? (Я предполагаю, что я не могу проверить законность двоичных файлов в этих путях)