Kornshell 스크립트에서 미지의 변수 사용에 대해 경고하는 방법.
문제
Unset 변수의 사용을 방지하기 위해 Kornshell (KSH) 스크립트에 오류 나 경고를 던질 수있는 방법이 있습니까? 제거하고 싶은 임시 폴더가 있다고 가정 해 봅시다.
TEMP_FILES_DIR='/app/myapp/tmp'
rm -Rf $TEMP_FILE_DIR #notice the misspelling
실제로 발생하기 전에 이런 종류의 실수를 막는 방법은 무엇입니까?
스크립트가 제거를 시도하기 전에 파일 존재와 빈 문자열을 확인해야한다는 것을 알고 있습니다. 이것은 일부 경고로 피할 수있는 실수를 설명하는 어리석은 예일뿐입니다. 이 기능이 KSH에 존재하는지 모르겠습니다. 존재한다면 어떻게 켜나요?
해결책
명령
set -u
POSIX를 유발합니다 쉿(1) UNSET 변수를 확장하려는 시도가 이루어질 때 Grouse에 대한 유도체.
예시:
$ echo $foo $ set -u $ echo $foo sh: foo: parameter not set
다른 팁
컨텐츠가있는 경우 변수를 확인할 수 있습니다. 즉, '', "변수는 비어있는"과 같은 메시지를 인쇄 할 수 있습니다.
그러나 여전히 Pebcak 오류를 해결하지는 않습니다. 아는 것은 아무 일도 일어나지 않았다는 것입니다.
제휴하지 않습니다 StackOverflow