GNU/Linux >> Tutoriels Linux >  >> Linux

Que signifie [email protected] dans un script shell ?

$* s'étend à tous les paramètres qui ont été passés à ce script shell.

$0 =nom du script shell

$1 =premier argument

$2 =second argument...etc

$# =nombre d'arguments passés au shellscript


Il est facile de trouver la réponse par vous-même :man bash/\$\* :

Paramètres spéciaux

Le shell traite plusieurs paramètres spécialement. Ces paramètres ne peuvent être que référencés ; leur affectation n'est pas autorisée.

  • Développe les paramètres de position, en commençant par un. Lorsque le développement se produit entre guillemets doubles, il se développe en un seul mot avec la valeur de chaque paramètre séparée par le premier caractère du IFS variable spéciale. C'est-à-dire "$*" est équivalent à "$1c$2c..." , où c est le premier caractère de la valeur du IFS variable. Si IFS n'est pas défini, les paramètres sont séparés par des espaces. Si IFS est nul, les paramètres sont joints sans séparateurs intermédiaires.

Cela signifie tous les arguments passés au script ou à la fonction, divisés par mot.

Il est généralement erroné et doit être remplacé par "[email protected]" , qui sépare correctement les arguments.


Linux
  1. Que signifie `:-` dans un script shell ?

  2. Que signifie l'esperluette à la fin d'une ligne de script Shell ?

  3. Que signifient les symboles affichés par Ls -f ?

  4. Que signifie ${1+"[email protected]"} dans un script shell, et en quoi diffère-t-il de "[email protected]" ?

  5. Que signifie cet avertissement ?

Que signifie chmod 777

Qu'est-ce que cela signifie d'être "compatible sh" ?

Qu'est-ce que Shebang dans Linux Shell Scripting ?

Pas de variable DISPLAY X11 - qu'est-ce que cela signifie ?

Que fait si [[ $ ? -ne 0 ]] ; signifie en .ksh

Que fait % dans les chaînes du shell Linux ?