현재 작업 디렉토리에 "file1.c" 파일이 있는지 테스트하려고 합니다. 테스트 명령에 무슨 문제가 있습니까? 명령을 이해했다고 생각했는데, Bourne 쉘에 내가 모르는 뭔가 잘못된 것이 있었나요?
#! /bin/sh
NAME=$1
if((test -e "$NAME"));then
echo File $NAME present
else
echo File $NAME not present
fi
답변1
대괄호는 필요하지 않으며 test
그 자체로 충분합니다.
if test -e "$NAME"; then
(())
산술 비교 연산 에 사용됩니다 .
test
command 와 동의어 [
이므로 다음을 사용할 수 있습니다.
if [ -e "$NAME" ]; then
또한.
키워드가 포함된 쉘도 있습니다 [[
:
if [[ -e "$NAME" ]]; then