GNU/Linux >> Linux Esercitazione >  >> Linux

Definire la funzione nella riga di comando unix/linux (ad es. BASH)

Citando la mia risposta per una domanda simile su Ask Ubuntu:

Funzioni in bash sono essenzialmente denominati comandi composti (o blocchi di codice). Da 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.

Non viene fornito alcun motivo, è solo la sintassi.

Prova con un punto e virgola dopo wc -l :

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

Non utilizzare ls | wc -l poiché potrebbe darti risultati errati se i nomi dei file contengono nuove righe. Puoi invece utilizzare questa funzione:

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

Linux
  1. Come cancellare la cronologia della riga di comando BASH in Linux

  2. Come aggiungere un utente Unix/linux in uno script Bash?

  3. 5 Completamento standard disponibile nella riga di comando di Linux Bash

  4. UNIX / Linux:esempi di comando bash history per ripetere gli ultimi comandi

  5. 6 Operatori di concatenamento della riga di comando della shell Bash in Linux

comando mkdir in Linux/Unix

Comando Grep in Linux/UNIX

comando ls in Linux/UNIX

comando cp in Linux/UNIX

Trova comando in Linux/UNIX

15 Esempi pratici di comandi Grep in Linux / UNIX