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

Что означает следующая строка в переменной в bash?

VAR=${TEMP:3}
12
задан 6 October 2015 в 23:58

3 ответа

Это переменное расширение и работает как это (заметьте, что это - только 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.
15
ответ дан 7 October 2015 в 09:58
  • 1
    Добро пожаловать для Выяснения у Ubuntu! Я рекомендую редактирование луг этот ответ развернуть его с определенными деталями о том, как сделать это. (См. также , Как я пишу хороший ответ? для общих рекомендаций о том, какие виды ответов считают самыми ценными на AskUbuntu.) – David Foerster 27 February 2017 в 22:52

в ударе это срезает первые 3 символа (строка) переменная:

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

взглянули на 'извлечение подстроки' здесь: http://www.tldp.org/LDP/abs/html/string-manipulation.html .

7
ответ дан 7 October 2015 в 09:58

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

2
ответ дан 7 October 2015 в 09:58
  • 1
    Я думаю, что новая установка будет хорошей идеей. Как сделать это? – T.Anantha Boudmanabhan 31 December 2016 в 16:44

Другие вопросы по тегам:

Похожие вопросы: