bash가 "-mthreads" 단어를 "-pthread"로 처리하도록 하려면 어떻게 해야 합니까?

bash가 "-mthreads" 단어를 "-pthread"로 처리하도록 하려면 어떻게 해야 합니까?

`-mthreads그래서 나는 단어를 입력할 때마다 bash가 단어를 대체하기를 원합니다 -pthread. 그런 일이 가능합니까? 어떻게 하나요?

답변1

zsh전역 별칭을 사용하여 이 작업을 수행할 수 있습니다 .

alias -g -- -mthreads=-pthread

그러나 bash를 계속 사용해야 한다면 @Kyle Jones가 설명하는 것처럼 인수를 필터링하는 쉘 함수를 만드십시오.

답변2

모든 명령줄에서 작동하도록 하는 방법은 없지만 대체하려는 각 명령에 대해 쉘 함수를 작성하여 명령별 대체를 수행할 수 있습니다. 예를 들어 다음과 같이 gcc작성합니다.

function gcc {
   local args=""
   local arg
   for arg in $@
   do
      case $arg in
         -mthreads) arg=-pthreads
      esac
      args="$args $arg"
   done
   command gcc $args
}

관련 정보