bash 변수 확장에서 ":"(콜론) 연산자는 VAR = $ {TEMP : 3}입니까?


12

의 변수에서 다음 줄의 의미는 무엇입니까 bash?

VAR=${TEMP:3}

1
@chaos 답을 더 잘 맞추기 위해 질문을 편집하지 마십시오 ;-).
Pilot6

@ Pilot6 의미를 바꾸지 않았습니다. 아니면 내가 잘못 이해하고 있습니까? (제목)을 더 잘 읽고 더 읽기 쉽게 만들었습니다. BTW : 에는 다른 의미도 있습니다. 예를 들어 bash 내장 명령입니다. 나는 그 질문이 분명히 그것에 관한 것이 아니기 때문에 그와 다른 것을 원 했습니다. 사용자가 의미하는 것은 :변수 이름 안에있는 연산자입니다. 죄송합니다. 누군가를 귀찮게하고 싶지는 않지만 롤백이 의미가 없어서 되돌려 야하지만 여기서는 편집 전을 원하지 않습니다. 또한 bash 및 스크립팅마다 다르므로 왜 해당 태그를 제거합니까?
혼돈

다른 답변이 의미를 잃어버린 방식으로 질문 TEMPVAR변수를 제거 하고 변경했습니다.
Pilot6

@ Pilot6 내 대답에서는 VAR변수를 참조하지 않습니다 . 그러나 한 가지를 자유롭게 바꿀 수 있습니다. 질문을 더 일반적이고 덜 구체적으로 만들고 싶었습니다. 다른 답변을 방해해서는 안됩니다.
혼돈

2
@SnakeDoc 아니오, 주제에 관한 모든 것
muru

답변:


15

이것은 변수 확장 과 같이 작동합니다 (이 아니라 통지 bash하고 ksh구체적이고 것 POSIX 쉘하지 작업) :

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

  • ${var:pos}varoffset에서 시작 하여 변수 가 확장 됨을 의미합니다 pos.
  • ${var:pos:len}length var로 오프셋부터 시작 하여 변수 가 확장 됨을 의미합니다 .poslen

의 중국식 팬 zsh도는
KOS

2
@kos 모든 것이 작동하기 때문에 언급 할 가치가 없습니다. zsh=) 나는 다이어트 스크립트를 만들었고 zsh1 주일에 10kg을 잃었습니다.
혼돈

zsh당신이 그것을 사용하지 않을 때 경로를 타이핑하는 것을 확실히 만든다 :)
kos

1
@ kos Hehe, jquery와 비슷합니다. meta.stackexchange.com/a/19492
chaos

1
하, 나는 "jQuery가 충분하지 않기 때문에"질문에 실제로 대답하려는 유일한 대답이 -2를 얻는 방법을 좋아합니다! :)
kos


2

이 연산자는 변수의 처음 3자를 잘라 내고 TEMP나머지를 variable에 할당합니다 VAR.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.