기록/리눅스
[리눅스] 쉘 스크립트 - 명령어 치환
코드코코
2021. 12. 20. 16:35
명령어 치환(command substitution)
- 서브쉘(subshell)을 사용해서 명령어의 결과를 가져와 대체하는 것.
- 즉, 명령을 수행할 때 명령의 인수로서 다은 명령의 결과를 사용한다.
사용방법 2가지
1. 역따옴표(` `) : 백틱(backticks)으로 명령어를 감싸면, 해당 명령어의 결과로 치환되어 그 결과를 변수에 바로 할당 가능
2. $( )
예시
- 파일 base.sh 작성
- $script_name 은 basename $0 로 치환, basename $0 은 파일명인 base.sh로 치환되었다.

명령어 치환을 통한 Bash 에서 쓸 수 있는 툴셋의 확장
- 표준 출력으로 결과를 출력하는 프로그램이나 스크립트의 결과를 변수로 할당.
예시 : C++
1. sample 디렉토리 생성 후 hello.cpp 파일 생성, 소유자 및 소유그룹 변경
2. WSL과 연결된 vscode를 통해 생성확인 혹은 ls -la 명령어를 통해 확인
3. hello.cpp 내용 작성
4. g++ 컴파일러로 컴파일 하기
$ g++ -o 컴파일된파일명 컴파일될파일명.cpp
5. 컴파일된 파일실행
./컴파일된파일명
- cpp 파일의 Hello, World.문구가 출력됨