접두사가 붙은 명령을 자동으로 실행하고 싶습니다./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
시스템에 env cd /path/to/directory
호출된 프로그램이 없기 때문에 실행할 수 없습니다 . cd
프로세스는 시스템 호출을 사용하여 작업 디렉터리를 변경할 수 있습니다. 쉘에서는 내장 명령을 사용할 수 있습니다 cd
. 호출하는 것은 env
작업 디렉터리를 변경한 직후에 종료되는 새 프로세스를 생성하므로 의미가 없습니다. 새 env
프로세스는 호출 프로세스의 작업 디렉터리를 표준 방식으로 변경할 수 없습니다.