1 votes

Bash : quel est le nom de la syntaxe et à quoi sert-elle

préfixe="N774"
préfixe_tronc=${préfixe:1:3}

que fait ${préfixe:1:3}. J'ai cherché mais je n'ai pas trouvé de réponse.

Merci

0voto

DavidPostill Points 140654

Que fait ${prefix:1:3} ?

Cela s'appelle Expansion des paramètres de Shell.

Expansion des paramètres de Shell

Le caractère $ introduit l'expansion de paramètres, la substitution de commandes ou l'expansion arithmétique. Le nom du paramètre ou le symbole à développer peut être placé entre des accolades, qui sont facultatives mais servent à protéger le variable à développer des caractères immédiatement suivants qui pourraient être interprétés comme faisant partie du nom.

Lorsque des accolades sont utilisées, l'accolade finale correspondante est la première } non échappée par un antislash ou dans une chaîne entre guillemets, et pas dans un expansion arithmétique intégrée, substitution de commande, ou paramètre expansion.

La forme de base de l'expansion des paramètres est :

${paramètre}

La valeur du paramètre est substituée. Les accolades sont requises lorsque le paramètre est un paramètre positionnel avec plus d'un chiffre, ou lorsque le paramètre est suivi d'un caractère qui ne doit pas être interprété comme faisant partie de son nom.

...

${paramètre:offset}
${paramètre:offset:longueur}

Se développe jusqu'à longueur caractères du paramètre en commençant par le caractère spécifié par l'offset. Si la longueur est omise, se développe pour la sous-chaîne du paramètre en commençant par le caractère spécifié par l'offset. la longueur et l'offset sont des expressions arithmétiques. Cela est appelé Expansion de sous-chaîne.

  • longueur doit évaluer à un nombre supérieur ou égal à zéro.
  • Si l'offset évalue à un nombre inférieur à zéro, la valeur est utilisée comme un décalage à partir de la fin de la valeur du paramètre.
  • Si le paramètre est @, le résultat est une longueur de paramètres positionnels commençant à l'offset.
  • Si le paramètre est un nom de tableau indexé par @ ou *, le résultat est les membres de la tableau de longueur commençant par ${paramètre[offset]}.
  • L'indexation des sous-chaînes commence à zéro, sauf si les paramètres positionnels sont utilisés, auquel cas l'indexation commence à 1.

Source Comment faire : expansion de shell - Linux - SS64.com

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X