2017-10-06 10 views
-1

i ont un code écrit à compter le nombre de fichiers et répertoires, mais im du mal à faire sortir si aucun argument est donné. Voici ce que j'ai en ce moment, avec le premier est le problème. comment puis-je changer cette instruction if pour la faire sortir si aucun argument n'est donné?comment quitter s'il n'y a pas d'argument dans le script shell bash?

#!/bin/bash 
if [$# -eq 0]; 
echo "no arguments" 
exit 1 
fi 
cd "$1" || exit 
n=0 
m=0 
for d in *; 
do 
    if [ -d "$d" ]; then 
     n=$((n+1)) 
    else 
     m=$((m+1)) 
    fi 
done 
echo "Files $m" 
echo "Directories $n" 
+0

Utilisez shellcheck.net pour diagnostiquer les erreurs courantes. – chepner

Répondre

0

if [ $# -eq 0 ]; then. Les espaces ne sont pas optionnels et le then non plus.