역따옴표(backtick) ``로 명령어를 감싸서 변수에 넣어 활용할 수 있다.
-----------------kimchi.sh----------------
#!/bin/bash
kimchi=`basename $0` basename은 해당하는 파일의 파일명만 반환해줌
echo "김치 변수 = $kimchi"
-------------------------------------------
$ ./kimchi.sh
김치 변수 = kimchi.sh
위처럼 변수안에 basename 명령어를 실행한 결과를 넣어 echo 명령어 안에서 이용할 수 있다.
또 다른 예시.
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, world." << endl;
return 0;
}
위처럼 hello.cpp 파일을 만들고
$ g++ -o hellohello hello.cpp
g++ 패키지를 사용하여 hello.cpp 파일을 변환하여 다른이름으로 저장하기 위해 -o 옵션과 hellohello 파일명을 적고 실행시키면 hellohello 파일이 생성된다.
g++은 c++언어를 컴퓨터가 읽기 좋은 형태로 바꾸기 위해 사용한다고 한다.
---------------------hi.sh 파일 작성----------
#!/bin/bash
hi=`./hellohello`
echo $hi
----------------------------------------------
$ ./hi.sh
Hello, world.
그리고 hi.sh를 실행해주면
변수 hi에 담긴 (hello.cpp에서 hellohello파일로 변환된)hellohello파일을 읽어들여
Hello, world.
란 결과가 출력된다
'리눅스 (Linux)' 카테고리의 다른 글
배열 (0) | 2021.12.20 |
---|---|
리다이렉션 (0) | 2021.12.19 |
특수 변수 (0) | 2021.12.19 |
특수 권한 (0) | 2021.12.19 |
리눅스 - shell script 변수 (0) | 2021.12.16 |
댓글