Linux bash中的拼写错误,不知道是什么错误

Linux bash中的拼写错误,不知道是什么错误,linux,bash,Linux,Bash,此函数用于检查我们使用的属性“$1”是否位于包含一组文件的目录“MINIENTREGA_CONF”中 function fichero_existe(){ i=0 for fichero in ${MINIENTREGA_CONF}; do if [ "$fichero" = "$1" ] ; then i=1 fi done if [ "$i" -eq 0 ] ; then echo "minientrega.sh: Error, no se

此函数用于检查我们使用的属性“$1”是否位于包含一组文件的目录“MINIENTREGA_CONF”中

function fichero_existe(){
  i=0
  for fichero in ${MINIENTREGA_CONF}; do
    if [ "$fichero" = "$1" ] ; then
      i=1
    fi
  done
  if [ "$i" -eq 0 ] ; then
    echo "minientrega.sh: Error, no se pudo realizar la entrega">&2
    echo "minientrega.sh+ no es accesible el fichero \" $1 \"">&2
    return 66
  fi
}

对于下面的行,它应该是==

 if [ "$fichero" = "$1" ] ; then

MINIENTREGA_CONF
是您在问题中提到的目录还是包含目录名称的变量

如果前者是真的

function fichero_existe(){
    if [[ ! -e "/path/to/MINIENTREGA_CONF/$1" ]]
    then
        echo "minientrega.sh: Error, no se pudo realizar la entrega">&2
        echo "minientrega.sh+ no es accesible el fichero \" $1 \"">&2
        return 66
    fi
}
检查文件是否不存在


请注意使用绝对路径,因此无论从何处运行脚本都无关紧要。

=
实际上比
=
:)无论如何,这绝对不是问题。对于${MINIENTREGA_CONF}/*中的fichero,使用find(1)会更好。使用简单的
[-e$minie/$1]]
而不是整个
for
循环和
eq
东西?如何调用该函数?是否有
fichero\u existe“$1”
?你可以
echo“在${MINIENTREGA_CONF}中查找$1”
?也可以看到,(U&L.SE),(SO),(AskU)等等。是的,它是一个包含一些文件的目录,我必须检查我们作为arg(脚本称为MINIENTREGA)放入的文件是否像这样。/MINIENTREGA buena;buena这个文件是我们在MINIENTREGA_CONF.thaks中寻找的用于回答问题的文件。如果你能再次回答,我真的很感激。