인수 없이 명령을 실행하는 것을 방지하는 쉘 스크립트 래퍼?

인수 없이 명령을 실행하는 것을 방지하는 쉘 스크립트 래퍼?

xyz예를 들어 인수 없이 명령을 실행하면 바람직하지 않은 결과가 나타나는 프로그램을 사용했습니다 . 그래서 xyz실수로 인수 없이 명령을 실행하는 것을 방지하고 인수를 사용하여 명령이 실행되도록 허용하고 싶습니다 .

인수 없이 호출할 때 오류 메시지를 인쇄 하도록 쉘 스크립트를 작성하려면 어떻게 해야 합니까 ? xyz그렇지 않으면 모든 인수가 프로그램에 전달됩니까 xyz?

답변1

특수변수를 확인할 수 있습니다.$#:

if [ $# -eq 0 ]; then
  echo "No arguments provided!"
  exit 1
fi
/usr/bin/xyz "$@"

~/.bashrc그런 다음 ;

alias xyz="/path/to/script.sh"

이제 실행될 때마다 xyz별칭이 시작됩니다. 그러면 스크립트를 호출하여 인수가 있는지 확인하고 xyz인수가 있는 경우에만 실제 명령을 시작합니다. 분명히 /usr/bin/xyz명령의 전체 경로로 변경하십시오.

답변2

대부분의 경우 프레임은 다음과 같습니다.

if [ "$1" ]
then
  /usr/bin/xyz "$@"
else
  echo "Errormessage"
fi 

관련 정보