参见英文答案 > Why should there be a space after ‘[‘ and before ‘]’ in Bash? 4个
我在修复这个bash脚本中的错误时遇到了问题,我真的不知道我做错了什么,感谢任何帮助
[centoslive@livecd ~]$sh ListFich.sh test
Synthese,Question 2
ListFich.sh: line 9: [-d: command not found
Il n'y a aucun repertoire qui se nomme test
ListFich.sh: line 15: [-f: command not found
Il n'y a aucun fichier qui se nomme test
[centoslive@livecd ~]$
#!bin/bash
echo "Synthese,Question 2"
if test $# -eq 0; then
echo "Argument Manquants"
exit 1
else
if [-d $1];then
ls -d $1
exit 1
else
echo "Il n'y a aucun repertoire qui se nomme $1"
fi
if [-f $1]; then
if [ -s $1]; then
ls -l $1
exit 1
else
ls -l $1
echo "Le fichier $1 est vide"
exit 1
fi
else
echo "Il n'y a aucun fichier qui se nomme $1"
fi
fi
最佳答案
在[和之前]之后添加一个空格.
原文链接:https://www.f2er.com/linux/440162.html[ -d $1 ]
^ ^