저는 현재 스크립트 작성 방법을 배우는 중이므로 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
.
방지하려면 큰따옴표를 사용하세요.분사. 경험상 변수를 사용할 때마다 큰따옴표로 묶어야 합니다.알다결과를 단어로 분할하고 싶거나 값이 분할되지 않을 것임을 알고 있는 경우 * (참조언제 큰따옴표가 필요합니까?).
할당 예의 경우 $
둘 중 하나에 기호가 표시되는 것을 원하지 않을 것입니다.
name="happy"
- 이것은 당신이 사용해야 할 것입니다name=happy
- "happy"는 단어이고 대화식으로 사용될 수 있기 때문에 작동하지만 스크립트에서는 피해야 합니다."name=happy"
- 특이한 이름으로 명령을 실행하려고 하면name=happy
오류가 발생한 것이 거의 확실합니다.let "name=happy"
let
- 자체 규칙이 있고 bash의 산술에 일반적으로 사용되는 라는 명령을 실행합니다 .
각주
* 이는 지나치게 단순화된 접근 방식이지만 기억하기 쉽습니다. 바라보다사양명령을 처리하는 방법에 대한 세부정보입니다.