bash에서 argument가 공백이 있는 파일 이름일때

yaru22의 이미지

bash로 간단한 프로그램을 작성해보려고 하는데요

exe 파일이름

이런 형식으로 실행시키는 프로그램이거든요

그런데 파일이름에 공백이 없으면 괜찮은데

공백이 있는 파일이름이면 자꾸 에러메시지가 납니다.

예를 들어서 제가 exe "test practice.txt" 라고 치면 에러가 나거든요

제 bash 프로그램에서 에러나는 부분이 이렇게 생겼는데요
.
.
# actual program
if [ $# -eq 0 ]; then
help_info
elif [ ! -f $1 ]; then
echo "File does not exist!"
else
.
.

여기서 elif [ ! -f $1 ]; then 이 부분에서 에러가 나네요

too many argument 라고...

어떻게 해결할지 아시는분 계시나요?

ktd2004의 이미지

그냥 간단히 [ ! -f "$1" ] 으로 하면 해결되지 않을까요?

yaru22의 이미지

여태껏 그걸 몰라서 삽질만 하고 있었네요 ㅋㅋㅋ

어째든 감사합니다~