쉘 함수를 정의했습니다 (호출하자 clock
) . 이 time
함수 와 유사한 다른 명령에 대한 래퍼로 사용하고 싶습니다 ( 예 :) clock ls -R
.
내 셸 함수는 몇 가지 작업을 수행 한 다음로 끝납니다 exec "$@"
.
이 기능을 쉘 내장에서도 사용할 수 있기를 원합니다. 예를 들어 실행 파일이 아닌 내장 clock time ls -R
결과를 출력해야합니다 . 그러나 항상 대신 명령을 실행합니다.time
/usr/bin/time
exec
bash 내장 함수를 인수로 허용하는 래퍼로 Bash 함수를 작동 시키려면 어떻게해야합니까?
편집 : 방금 time
배쉬 내장이 아니라 파이프 라인과 관련된 특별한 예약어라는 것을 배웠습니다 . 와 함께 작동하지 않더라도 내장 솔루션에 관심이 time
있지만 더 일반적인 솔루션이 더 좋습니다.
exec bash -c \' "$@" \'
. 첫 번째 매개 변수의 명령이 쉘 스크립트로 인식되지 않으면 직접 실행되는 이진으로 해석됩니다. 또는 더 간단히 말하면, 원래 쉘에서를 빼고exec
호출"@"
하십시오.