【发布时间】:2018-01-24 09:19:36
【问题描述】:
我有以下在 Linux 中使用的简单 ksh 脚本
#!/bin/ksh
set -x
### Process list of *.dat files
if [ -f *.dat ]
then
print "about to process"
else
print "no file to process"
fi
我的当前目录中有以下 *.dat 文件:
S3ASBN.1708140015551.dat S3ASBN.1708140015552.dat S3ASBN.1708140015561.dat S3HDR.dat
运行文件命令显示如下:
file *.dat
S3ASBN.1708140015551.dat: ASCII text
S3ASBN.1708140015552.dat: ASCII text
S3ASBN.1708140015561.dat: ASCII text
S3HDR.dat: ASCII text
但是,当我运行 ksh 脚本时,它会显示以下内容:
./test
+ [ -f S3ASBN.1708140015551.dat S3ASBN.1708140015552.dat S3ASBN.1708140015561.dat S3HDR.dat ]
./test[9]: [: S3ASBN.1708140015552.dat: unexpected operator/operand
+ print no file to process
no file to process
任何线索为什么我收到unexpected operator/operand 以及补救措施是什么?
【问题讨论】:
标签: linux if-statement ksh