쉘 스크립트를 통해 각 명령에 대해 경고를 받을 수 있는 방법이 있는지 궁금합니다. 이는 알려지지 않았습니다.
구문 검사 에 대해 알고 있지만 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