Просто для удовольствия, другой ручной вариант:
find -L $(echo $PATH | tr ":" " ") -name 'pattern' -type f -perm -001 -print
где pattern
указывает шаблон имени файла, который вы хотите использовать. Это пропустит команды, которые не являются глобально исполняемыми, но для которых у вас есть разрешение.
[протестировано на Mac OS X]
Используйте флаги -or
и -and
, чтобы создать более полную версию этой команды:
find -L $(echo $PATH | tr ":" " ") -name 'pattern' -type f
\( \
-perm -001 -or \
\( -perm -100 -and -user $(whoami)\) \
\) -print
подберет файлы, на которые у вас есть разрешение, в силу их владения. Я не вижу общего способа получить все, что вы можете выполнить с помощью групповой принадлежности, без гораздо большего кодирования.