bash shell script에서 명령어를 실행하면서 헷갈려 정리합니다.
기본적으로 internal 명령어는 바로 실행가능합니다.
예)
ls -l
그리고 변수에 명령어 실행 결과를 대입하거나 double quotation안에서 실행한 결과를 표시하기 위해서는 `(backtick이다, single quotation과 다름)으로 감싸줘야 합니다.
'(single quotation)안에서도 명령어를 실행할 수 있는데 옵션을 주면 에러가 발생합니다. 무슨 차이인지 모르겠지만 single quotation에서 명령어를 쓰지 않는 것이 좋을 것 같습니다.
재미있는 사항은 Backtick 대신에 $()을 사용해도 된다는 것입니다. 즉, 아래 두 개는 같은 결과를 보입니다.
`ls -al`
$(ls -al)