쉘 스크립트의 변수에 액세스하는 다양한 방법

쉘 스크립트의 변수에 액세스하는 다양한 방법

저는 현재 스크립트 작성 방법을 배우는 중이므로 Unix 명령의 초보자입니다. 그러나 실제로 변수에 액세스하는 방법을 이해할 수 없습니다.

name( )이라는 변수가 있다고 가정해 보겠습니다 $name. 때로는 사람들이 using 을 사용하여 직접 액세스하는 $name반면 다른 사람들은 ${name}또는 을 사용하는 경우도 있습니다 "$name". 그래서 이것은 매우 혼란스럽고 다른 프로그래밍 언어에서 배운 것과 완전히 다르기 때문에 차이점이 무엇인지 잘 모르겠습니다.

$name="happy"또한 변수에 문자열을 할당하려고 할 때 , $name=happy또는 "$name=happy"let 을 써야 합니다 "$name=happy".

답변1

$fred사이에는 차이가 없습니다 ${fred}. 이는 변수 이름이 끝나는 위치를 표시해야 하는 경우에 필요합니다 {}. 예를 들어, echo ${end}ing변수 값 end다음에 문자가 오는 것을 인쇄 ing하고, echo $ending변수 값을 인쇄합니다 ending.

방지하려면 큰따옴표를 사용하세요.분사. 경험상 변수를 사용할 때마다 큰따옴표로 묶어야 합니다.알다결과를 단어로 분할하고 싶거나 값이 분할되지 않을 것임을 알고 있는 경우 * (참조언제 큰따옴표가 필요합니까?).

할당 예의 경우 $둘 중 하나에 기호가 표시되는 것을 원하지 않을 것입니다.

  1. name="happy"- 이것은 당신이 사용해야 할 것입니다
  2. name=happy- "happy"는 단어이고 대화식으로 사용될 수 있기 때문에 작동하지만 스크립트에서는 피해야 합니다.
  3. "name=happy"- 특이한 이름으로 명령을 실행하려고 하면 name=happy오류가 발생한 것이 거의 확실합니다.
  4. let "name=happy"let- 자체 규칙이 있고 bash의 산술에 일반적으로 사용되는 라는 명령을 실행합니다 .

각주

* 이는 지나치게 단순화된 접근 방식이지만 기억하기 쉽습니다. 바라보다사양명령을 처리하는 방법에 대한 세부정보입니다.

관련 정보