GNU/Linux >> Tutoriels Linux >  >> Linux

Définir la fonction dans la ligne de commande unix/linux (par exemple BASH)

Citant ma réponse pour une question similaire sur Ask Ubuntu :

Fonctions en bash sont essentiellement des commandes composées nommées (ou codeblocks). À partir de man bash :

Compound Commands
   A compound command is one of the following:
   ...
   { list; }
          list  is simply executed in the current shell environment.  list
          must be terminated with a newline or semicolon.  This  is  known
          as  a  group  command. 

...
Shell Function Definitions
   A shell function is an object that is called like a simple command  and
   executes  a  compound  command with a new set of positional parameters.
   ... [C]ommand is usually a list of commands between { and },  but
   may  be  any command listed under Compound Commands above.

Il n'y a aucune raison donnée, c'est juste la syntaxe.

Essayez avec un point-virgule après wc -l :

numresults(){ ls "$1"/RealignerTargetCreator | wc -l; }

N'utilisez pas ls | wc -l car cela peut vous donner des résultats erronés si les noms de fichiers contiennent des retours à la ligne. Vous pouvez utiliser cette fonction à la place :

numresults() { find "$1" -mindepth 1 -printf '.' | wc -c; }

Linux
  1. Comment effacer l'historique de la ligne de commande BASH sous Linux

  2. 5 Achèvement standard disponible dans la ligne de commande Linux Bash

  3. Comment utiliser les fonctions du shell de ligne de commande sous Linux

  4. exécution d'un script php (fonction php) sous linux bash

  5. Ligne de commande uniquement SE UNIX/Linux

Commande mkdir sous Linux/Unix

Commande Grep sous Linux/UNIX

Commande ls sous Linux/UNIX

commande cp sous Linux/UNIX

Rechercher la commande sous Linux/UNIX

15 exemples pratiques de commande Grep sous Linux / UNIX