GNU/Linux >> Znalost Linux >  >> Linux

Definujte funkci v příkazovém řádku unix/linux (např. BASH)

Cituji svou odpověď na podobnou otázku na Ask Ubuntu:

Funkce v bash jsou v podstatě pojmenované složené příkazy (nebo kódové bloky). Od 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.

Není uveden žádný důvod, jde pouze o syntaxi.

Zkuste zadat středník za wc -l :

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

Nepoužívejte ls | wc -l protože vám může poskytnout špatné výsledky, pokud názvy souborů obsahují nové řádky. Místo toho můžete použít tuto funkci:

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

Linux
  1. Jak vymazat historii příkazového řádku BASH v Linuxu

  2. Jak přidat uživatele Unix/linux do skriptu Bash?

  3. Jak používat funkce shellu příkazového řádku v Linuxu

  1. 5 Standardní dokončení K dispozici v příkazovém řádku Linux Bash

  2. UNIX / Linux :Příklady příkazů historie bash pro opakování posledních příkazů

  3. 6 Operátorů řetězení příkazového řádku Bash Shell v Linuxu

  1. Příkaz historie v Linuxu (Bash History)

  2. spuštění php skriptu (funkce php) v linux bash

  3. Příkazový řádek pouze OS UNIX/Linux