#!/bin/bash
$myval=/home
ls $mval <- unexpected misspelling
$mval
ls 명령이 정의되지 않았기 때문에 실행되는 것을 방지할 수 있는 방법이 있습니까 ?
노트오타가 있어서 존재 여부를 확인할 수 없습니다. 설정할 수 있는 추가 속성을 찾고 있습니다.
답변1
set -u
설정되지 않은 변수를 확장하려고 하면 중단 옵션을 사용하여 이 작업을 수행 할 수 있습니다 . 그러나 이는 $myval=/home
유효한 구문이 아니므로 변수가 설정되지 않습니다. 을(를) 삭제해야 합니다 $
.
#!/bin/bash
set -u
myval=/home
ls "$mval"
-유
설정되지 않은 변수와 특수 매개변수 "@", "*" 이외의 매개변수는 매개변수 확장 시 오류로 처리됩니다. 오류 메시지가 표준 오류에 기록되고 비대화형 쉘이 종료됩니다.