17 votes

Quel est l'opérateur ":" (deux points) dans une expansion de variable bash: VAR=${TEMP:3}?

Quelle est la signification de la ligne suivante dans une variable en bash ?

VAR=${TEMP:3}

20voto

chaos Points 25386

Ceci est l'expansion de variable et fonctionne comme suit (remarquez que cela est spécifique uniquement à bash et ksh et ne fonctionnera pas dans un shell POSIX) :

$ x=1234567890
$ echo ${x:3}
4567890
$ echo ${x:7}
890
$ echo ${x:3:5}
45678

  • ${var:pos} signifie que la variable var est étendue, en commençant à partir de la position pos.
  • ${var:pos:len} signifie que la variable var est étendue, en commençant à partir de la position pos avec une longueur de len.

7voto

sudh Points 1077

Dans bash, cela coupe les trois premiers caractères d'une variable (string) :

$ VAR="hello world"
$ echo ${VAR:3}
lo world

jetez un œil à 'extraction de sous-chaîne' ici : http://www.tldp.org/LDP/abs/html/string-manipulation.html .

2voto

user167850 Points 230

Cet opérateur coupe les 3 premiers caractères de la variable TEMP et attribue le reste à la variable VAR.

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