누군가 이 bash 스크립트 조각이 어떻게 작동하는지 설명해 줄 수 있나요?
is_text_file() {
perl -e 'exit((-B $ARGV[0])?1:0);' "$1"
}
감사해요.
답변1
Perl에는 첫 번째 인수에서 호출되는 파일 유형 테스트 연산자가 있습니다. 그런 다음 삼항 연산자를 사용하여 True/False를 쉘 상태 0(isTxt) 또는 1(not)로 변환합니다. 이 함수에는 명시적인 반환 값이 없으므로 perl 명령 자체의 상태를 반환합니다. Bash 자체는 여기서 거의 아무것도 하지 않습니다.
-T File is an ASCII or UTF-8 text file (heuristic guess).
-B File is a "binary" file (opposite of -T).
"추측"이라는 단어에 주의를 기울이세요.