我正在尝试测试当前工作目录中是否存在文件“file1.c”,我的测试命令做错了什么?我以为我理解了这个命令,我是否对 Bourne shell 做了一些我不知道的错误?
#! /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
与命令同义[
,因此您可以使用:
if [ -e "$NAME" ]; then
也。
还有一些 shell 有[[
关键字:
if [[ -e "$NAME" ]]; then