我正在制作一个带有通配符的 ls 来检查返回码,以确定通配符是否与文件匹配。虽然这很好用,但它总是创建一个文件大小为 0 的文件 0。有人知道为什么吗?
$SSTDIR=/tmp/test
$SSTFILE=test
ls -1 $SSTDIR/$SSTFILE* &> /dev/null
if [ $? = 0 ]; then
exit 2
fi
任何帮助,将不胜感激 :)
编辑:
# Anzahl Parameter überprüfen
if [ ${#} == "6" ]; then
SST=$1
IN=$2
INFILE=$3
SSTDIR=$4
SSTFILE=$5
SORT=$6
else
echo "Verwendung: $0 \"SST Name\" \"Inbound Verzeichnis ohne /\" \"Name der eingehenden Datei\" \"Outbound Verzeichnis ohne /\" \"Name der ausgehenden Datei\" \"Stelle ab der sortiert wird\""
exit 3 # Falsche Anzahl Parameter
fi
# Überprüfe ob das eingehende RVS Verzeichnis nicht leer ist
ls -1 $IN/$INFILE* &> /dev/null
if [ $? > 0 ]; then
exit 1 # Keine Dateien gefunden
fi
# Überprüfe ob das SST Verzeichnis bereits Dateien beinhaltet
ls -1 $SSTDIR/$SSTFILE* &> /dev/null
if [ $? = 0 ]; then
exit 2 # Dateien existieren bereits im SST Verzeichnis
fi
好吧,这就是一切,还有更多的向下,但这不会导致问题,因为我已经测试了退出点。