별칭에 잘못된 종료 코드 설정

별칭에 잘못된 종료 코드 설정

원하는 결과를 얻으려면 더 복잡한 프로세스가 필요한 표준 명령을 사람들이 사용하지 못하도록 .bashrc에 몇 가지 별칭을 추가했습니다. 하지만 스크립트에서 별칭을 호출하는 경우 종료 코드를 어떻게 설정합니까? 이상적으로는 "해당 파일이나 디렉터리가 없습니다"와 같은 허위 오류 메시지를 생성하지 않습니다.이것하지만 확실히 더 깨끗한 방법이 있을까요? )

예를 들어

 alias useradd='echo "Nope....you should be using the custom script."'

결과는 다음과 같습니다...

 # useradd newuser
 Nope....you should be using the custom script.
 # echo $?
 -1
 #

답변1

별칭 대신 함수를 사용해야 합니다.

useradd () {
  echo "Nope....you should be using the custom script." >&2
  return 2
}

바라보다Bash에서 언제 별칭을 사용하고, 언제 스크립트를 사용하고, 언제 함수를 작성합니까?별칭의 제한 사항과 함수의 유용성에 대한 추가 정보입니다.

또한 함수를 사용하든 별칭을 사용하든 사용자는 command내장 함수를 사용하거나 단순히 명령 이름을 이스케이프하여 이를 무시할 수 있습니다. 예를 들면 다음과 같습니다.

\useradd ...

관련 정보