$를 echo하도록 bashrc를 설정할 수 있나요? 특정 명령 후에?

$를 echo하도록 bashrc를 설정할 수 있나요? 특정 명령 후에?

저는 .bashrc에서 간단한 별칭을 설정하는 데 익숙하고 이것이 제가 원하는 것을 할 수 있을 것이라고 생각했지만 어떻게 해야 할지 잘 모르겠습니다. 소원: 항상 $?를 에코하나요? 특정 프로그램이 실행된 후. 성공하더라도 언뜻 보면 오류처럼 보이는 다소 당혹스러운 STDERR 메시지를 인쇄하는 특정 프로그램을 실행하고 싶습니다. 나는 항상 $? 실제로 이것을 읽기 전에 첫 번째 확인으로, 그러나 적어도 4분의 1의 시간 동안 나는 오타를 범하고 반향할 기회를 잃습니다. 내가 하고 싶은 것은 내가 입력할 때 별칭을 설정하는 것입니다.

$ foo --option [argument]

실제로 그렇습니다

$ foo --option [argument]

working blah blah blah

$ echo $?

가능합니까?

답변1

사용 기능:

foo () {
    command foo "$@"
    echo "$?"
}

이는 foo제공된 인수를 사용하여 명령을 실행한 다음 종료 상태를 표시합니다.

당신은 또한 갖고 싶을 수도 있습니다foo 기능다음과 동일한 종료 상태를 반환합니다.foo 주문하다그리고:

foo() {
  local ret
  command foo "$@"
  ret="$?"
  echo "$ret"
  return "$ret"
}

관련 정보