-1

Я хочу автоматически выполнять команды с префиксом /usr/bin/env

$/usr/bin/env composer install (this runs OK)
$/usr/bin/env cd public (failed ---> /usr/bin/env: cd: No such file or directory)

Я новичок в Linux и, по моему мнению, использование /usr/bin/env - странный способ написания команд. Интересно, почему моя вторая строка не работала (хотя некоторые работали, например, mkdir или ls)

Причина, по которой я не могу избавиться от /usr/bin/env заключается в том, что я использую Capistrano, и он продолжает добавлять префикс. Если есть способ избавиться от /usr/bin/env , это еще лучше.

Заранее спасибо.

1 ответ1

2

Вы не можете запустить env cd /path/to/directory потому что в вашей системе нет программы с именем cd . Процесс может изменить свой рабочий каталог с помощью системного вызова. В оболочке вы можете использовать встроенную команду cd . Вызывать его из env не имеет никакого смысла, так как он создает новый процесс, который завершается сразу после изменения его рабочего каталога. Новый процесс env не может изменить рабочий каталог вызывающего процесса стандартным способом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .