백틱(backtick)의 정의
IEEE Open Group의 정의에 의하면, 리눅스 쉘에서 백틱은 $()과 함께 명령어 대체(command substitution)로 분류되는 표현식입니다. 백틱 또는 $() 괄호 안에 기술하는 명령어를 하위 쉘이 실행하고 그 출력 결과를 문자열로 대체하여 줍니다.
[user1@ip-x-x-x-x ~]$ echo "I am `whoami`"
I am user1
[user1@ip-x-x-x-x ~]$ echo "I am $(whoami)"
I am user1
권장 사항
백틱은 오래된 표현법으로 중첩되는 괄호나 이스케이프 문자 관련하여 혼란이 있을 수 있으므로 달러괄호-$() 표현이 권장됩니다.
참고1: Bash scripting: Moving from backtick operator to $ parentheses
참고2: What's the difference between $(stuff) and `stuff`?
주의할 점
명령어 대체는 현재 환경 기준으로 하위 쉘을 통해 수행되므로 만약 둘러싸고 있는 명령이 원격이나 다른 환경에서 실행된다면 서로 다른 환경에서 실행될 수 있다는 점을 유의해야 합니다.