$(),${}
Command Substitution: $(command),Variable Expansion: ${variable} $()와 ${}는 쉘 스크립트에서 변수나 명령어를 사용하는 데에 있어서 차이가 있습니다.
-
$() (Command Substitution):
-
명령어를 실행하고 그 결과를 변수에 할당하거나 출력으로 사용할 때 사용됩니다.
-
예를 들어:
bashCopy code result=$(ls) echo "Files: $result"
이 예제에서
$(ls)
는 현재 디렉터리의 파일 목록을 실행하고 그 결과를
result
변수에 할당합니다.
-
-
${} (Parameter Expansion):
-
변수나 매개변수를 참조할 때 사용됩니다.
-
예를 들어:
bashCopy code name="John" echo "Hello, ${name}!"
이 예제에서
${name}
은 변수
name
의 값을 참조합니다.
-
차이점은 다음과 같습니다:
- 스코프:
$()
는 명령어를 실행하고 그 결과를 변수에 할당하거나 다른 명령어에서 사용할 때 주로 사용됩니다.${}
는 변수를 참조하거나 매개변수를 확장할 때 사용됩니다.
- 문자열 내 변수 사용:
$()
는 주로 명령어의 결과를 변수에 저장할 때 사용되며, 문자열 내에서 사용할 때는 필요하지 않습니다.${}
는 변수나 매개변수를 문자열 내에서 명시적으로 참조할 때 사용됩니다.
둘 다 쉘 스크립트에서 자주 사용되는 구문이며, 특히 변수나 명령어를 다룰 때 유용합니다.