예를 들어, 명령에 엔딩을 추가하면 엔딩이 표시됩니다.
function work* () {
echo "$1";
}
export -f work*
$ working
ing
답변1
어쩌면 다음과 같은 것이 당신을 위해 그것을 할 것입니다:
function work() {
echo "${1#work}"
}
function err_work() {
[ "${1#work}" != "$1" ] && work $*
}
trap "err_work \$BASH_COMMAND" ERR
그런 다음 모든 명령 오류에 대해 함수가 호출되어 err_work
실패한 명령이 "work"로 시작되었음을 발견하여 work
초기 명령줄을 인수로 사용하여 끝나지 않고 함수를 호출합니다.
물론 bash는 트랩을 호출하기 전에 초기 명령에 대해 불평하므로 약간 보기 흉해 보이지만 아직 찾지는 못했지만 이를 끌 수 있는 방법이 있을 수 있습니다.