쉘 스크립트에 사용되는 특수 문자가 포함된 문자열 변수를 올바르게 이스케이프합니까?

쉘 스크립트에 사용되는 특수 문자가 포함된 문자열 변수를 올바르게 이스케이프합니까?

이렇게 간단한 질문을 하는 것이 어리석은 것 같지만, 저는 절대적으로 이를 지지합니다. 나는 모든 곳을 검색하고 변수를 올바르게 이스케이프하거나 인용하기 위해 여러 가지 방법을 시도했지만 무슨 일이 있어도 쉘 스크립트에서 실행할 때 다음 오류가 발생합니다. stat: cannot statx 'This is an odd | filename | (name).m4a' : No such file or directory 파일이 실행 중인 디렉터리에 있습니다.

#!/bin/bash

FILENAME="This is an odd | filename | (name).m4a"
FILESIZE=$(stat "%s" "$FILENAME")

echo "Size of $FILENAME = $FILESIZE bytes."

명령줄에서 실행하면 정상적으로 작동합니다.

$ stat "%s" 'This is an odd | filename | (name).m4a'

관련 정보