exec
나는 프로그램을 갖고 arg0과 환경을 포함한 인수를 제어하고 싶습니다 . CI를 사용하면 가능합니다 execve
. POSIX 쉘에서 이 작업을 수행할 수 있습니까?
답변1
POSIX 문서에 따르면특수 내장 유틸리티, exec의 구문은 다음과 같습니다
exec [command [argument...]]
쉘이 호출되는 환경~해야 한다에 퍼지다주문하다따라서 실행 전에 설정하는 것이 foo=bar exec cmd
좋습니다. 그러나 고려해 볼 수도 있습니다.근본적인절.
대부분의 역사적 구현은 일관성이 없습니다. foo=bar exec cmd는 foo를 cmd에 전달하지 않습니다.
argv[0]을 수정하는 기본 제공 방법도 없습니다.
가능한 해결 방법에는 기호 링크가 포함됩니다.일부 이름도착하다주문하다이전에 exec some_name
(전체 크레딧은 다음과 같습니다.무루)
알아채다세게 때리다 다루기 힘든그리고케시exec 명령의 확장된 구현을 지원합니다.
exec [-cl] [-a name] [command [arguments]]
-a 옵션으로 인해이름옹호하다argv[0]
-a argv0을 사용하면 실행 명령의 argv[0] 문자열을 설정합니다.
그러나 둘 다시추...도 아니다스프린트...도 아니다물고기이것을 지원하십시오.