Чтобы выполнить что-то подобное, вам нужно поместить код в так называемую подкоманду в большинстве оболочек. В Bash его обозначение - $(...some command...) .
Подход
$ find ~ -iregex ".*project.*/bin" | xargs | sed 's/ /:/g'
Этот вкладыш создаст список каталогов, в которых будет находиться подкаталог /bin . Он не идеален на 100%, поскольку не может обрабатывать каталоги, в именах которых есть пробелы, но если вы знаете, что ваша ситуация соответствует этому правилу, вы можете использовать его.
Используя приведенный выше фрагмент, вы создадите свой $PATH следующим образом:
PATH=$PATH:$(find ~ -iregex ".*project.*/bin" | xargs | sed 's/ /:/g')
пример
В этом примере я собираюсь использовать $MYPATH в качестве замены для $PATH . Для начала у нас есть несколько каталогов, уже содержащихся в $MYPATH .
$ MYPATH=/path1/bin:/path2/bin
$ echo $MYPATH
/path1/bin:/path2/bin
Теперь, чтобы добавить все каталоги ~/project*/bin в $MYPATH:
$ MYPATH=$MYPATH:$(find ~ -iregex ".*project.*/bin" | xargs | sed 's/ /:/g')
$ echo $MYPATH
/path1/bin:/path2/bin:/Users/slm/project1/bin:/Users/slm/project2/bin:/Users/slm/project3/bin