$(),${}

Command Substitution: $(command),Variable Expansion: ${variable} $()와 ${}는 쉘 스크립트에서 변수나 명령어를 사용하는 데에 있어서 차이가 있습니다.

  1. $() (Command Substitution):

    • 명령어를 실행하고 그 결과를 변수에 할당하거나 출력으로 사용할 때 사용됩니다.

    • 예를 들어:

      bashCopy code
      result=$(ls)
      echo "Files: $result"
      
      

      이 예제에서

      $(ls)
      

      는 현재 디렉터리의 파일 목록을 실행하고 그 결과를

      result
      

      변수에 할당합니다.

  2. ${} (Parameter Expansion):

    • 변수나 매개변수를 참조할 때 사용됩니다.

    • 예를 들어:

      bashCopy code
      name="John"
      echo "Hello, ${name}!"
      
      

      이 예제에서

      ${name}
      

      은 변수

      name
      

      의 값을 참조합니다.

차이점은 다음과 같습니다:

  • 스코프:
    • $()는 명령어를 실행하고 그 결과를 변수에 할당하거나 다른 명령어에서 사용할 때 주로 사용됩니다.
    • ${}는 변수를 참조하거나 매개변수를 확장할 때 사용됩니다.
  • 문자열 내 변수 사용:
    • $()는 주로 명령어의 결과를 변수에 저장할 때 사용되며, 문자열 내에서 사용할 때는 필요하지 않습니다.
    • ${}는 변수나 매개변수를 문자열 내에서 명시적으로 참조할 때 사용됩니다.

둘 다 쉘 스크립트에서 자주 사용되는 구문이며, 특히 변수나 명령어를 다룰 때 유용합니다.