Что делает оператор «:» (двоеточие) в расширении переменной bash: VAR = $ {TEMP: 3}?

9

В чем смысл следующей строки в переменной в bash ?

VAR=${TEMP:3}
    
задан Karan Shah 06.10.2015 в 12:27
источник

3 ответа

13

Это расширение переменной и работает так (обратите внимание, что это только bash и ksh и не будут работать в оболочке POSIX):

$ x=1234567890
$ echo ${x:3}
4567890
$ echo ${x:7}
890
$ echo ${x:3:5}
45678
  • ${var:pos} означает, что переменная var расширяется, начиная со смещения pos .
  • ${var:pos:len} означает, что переменная var расширяется, начиная с смещения pos с длиной len .
ответ дан chaos 06.10.2015 в 12:36
источник
6

в bash он отсекает первые 3 символа (строковой) переменной:

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

посмотрите на 'substring extract' здесь: Ссылка .

    
ответ дан hiro protagonist 06.10.2015 в 12:32
2

Этот оператор отсекает первые 3 символа переменной TEMP и присваивает остальным переменной VAR .

    
ответ дан Pilot6 06.10.2015 в 12:32