Ceci est mon premier script Bash alors pardonnez-moi si cette question est triviale. J'ai besoin de compter le nombre de fichiers dans un répertoire spécifié $ HOME/.junk. Je pensais que ce serait simple et supposais ce qui suit travaillerait:Appeler des utilitaires Linux avec des options à partir d'un script Bash
numfiles= find $HOME/.junk -type f | wc -l
echo "There are $numfiles files in the .junk directory."
Taper find $HOME/.junk -type f | wc -l
à la ligne de commande fonctionne exactement comme je m'y attendais à, simplement retourner le nombre de fichiers. Pourquoi cela ne fonctionne-t-il pas quand il est entré dans mon script? Est-ce que je manque une notation spéciale quand il s'agit de passer des options aux utilitaires?
Merci beaucoup pour votre temps et votre aide.
Notez que votre commande 'trouver' a été exécutée avec une variable d'environnement de set 'numFiles de la chaîne vide. Cela peut être utile quand vous voulez le faire (vous pouvez définir un var env pour la durée d'une commande sans affecter le shell parent), mais c'est une surprise quand vous ne savez pas que cela arrive. –