ms는 리눅스에 존재하지 않는 명령어입니다. 그래서 실행하면 에러가 발생합니다. $?의 값을 확인하면 127이 저장돼 있습니다. 이처럼 $?의 값을 이용해 이전에 실행한 명령의 성공/실패 여부를 확인할 수 있습니다.
2 함수 호출에서도 $?를 사용해 봅시다. 다음 내용을 return_values.sh 파일에 작성합니다.
return_values.sh
#!/bin/bash
function is_file_exist() ------------------- ①
{
filename="$1"
ls | grep -q $filename
return $?
}
is_file_exist "sh" ------------------------ ②
echo "file exist test: $?"
is_file_exist "non-exist-file-pattern" ----- ③
echo "file exist test: $?"