man expr
говорит, что выражение "STRING : PATTERN" является "привязанным", а затем на информационной странице (info coreutils 'expr invocation'
) вы можете прочитать:
`STRING : REGEX'
Perform pattern matching. The arguments are converted to strings
and the second is considered to be a (basic, a la GNU `grep')
regular expression, with a `^' implicitly prepended. The first
argument is then matched against this regular expression.
Что означает, что эффект, который вы видите, является ожидаемым поведением.
Если вызов export PATH … …
был выполнен родительской оболочкой оболочки, в которой вызывается текущая команда, и этот PATH не был изменен какой-либо промежуточной оболочкой, тогда:
Yes
Все дочерние команды будут искать исполняемые файлы (сначала )внутри ./node_modules/.bin
любого pwd
. Довольно серьезная и явная дыра в безопасности, не делайте этого.