쉘 스크립트에서 알 수 없는 명령을 테스트하는 방법은 무엇입니까?

쉘 스크립트에서 알 수 없는 명령을 테스트하는 방법은 무엇입니까?

쉘 스크립트를 통해 각 명령에 대해 경고를 받을 수 있는 방법이 있는지 궁금합니다. 이는 알려지지 않았습니다.

구문 검사 에 대해 알고 있지만 bash -n명령을 사용할 수 있는지 여부는 알려주지 않습니다.

물론 코드를 실행하는 것은 선택 사항이 아닙니다.

답변1

일반적으로 스크립트에 다음과 같은 내용이 포함될 수 있으므로 이는 불가능합니다.

read $command
"$command" -rf /

실제 생활에서는 명령이 정리되거나 목록에서 선택되지만 어떤 명령이 가능한지 미리 아는 것은 여전히 ​​불가능합니다.

답변2

명시적으로 다음을 수행해 보세요.

test_apps="command1 command2 command3"
for cmd in $test_apps; do
    type &>/dev/null $cmd && echo "$cmd installed" ||
        echo >&2 "$cmd not installed"
done

또는 전체 경로에 명령을 입력하는 경우:

grep -oP '^\s*/.*/\K.*' script.sh |
    xargs -I% which % 2>&1 |
    grep -oP '^\w+:\s+\Kno\s+\S+'

답변3

나는 다음과 같은 일을 하는 경향이 있습니다.

if ! which dos2unix > /dev/null; then

   echo "Error: dos2unix not installed!"
   exit 1
fi

관련 정보