O que o operador “:” (dois pontos) em uma expansão de variável bash: VAR = $ {TEMP: 3}?

9

Qual é o significado da seguinte linha em uma variável em bash ?

VAR=${TEMP:3}
    
por Karan Shah 06.10.2015 / 14:27

3 respostas

14

Isso é expansão de variável e funciona assim (observe que isso é apenas bash e ksh específico e não funcionará em um shell POSIX):

$ x=1234567890
$ echo ${x:3}
4567890
$ echo ${x:7}
890
$ echo ${x:3:5}
45678
  • ${var:pos} significa que a variável var está expandida, iniciando no deslocamento pos .
  • ${var:pos:len} significa que a variável var está expandida, iniciando no deslocamento pos com comprimento len .
por chaos 06.10.2015 / 14:36
6

no bash corta os 3 primeiros caracteres de uma variável (string):

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

Veja a "extração de substring" aqui: link .

    
por hiro protagonist 06.10.2015 / 14:32
2

Este operador corta os 3 primeiros caracteres da variável TEMP e atribui o restante à variável VAR .

    
por Pilot6 06.10.2015 / 14:32

Tags