Bash에서 문자열을 파이핑하여 명령을 실행
Bash에서 문자열을 파이핑하여 명령을 실행하는 것은 스크립트 내에서 동적으로 명령을 생성하거나 특정한 결과를 바탕으로 후속 처리를 하는 경우에 유용합니다. 이 과정은 echo 명령과 파이프(|) 연산자를 사용하여 구현할 수 있습니다.
기본 사용법
문자열을 파이핑해 명령으로 실행하려면 기본적으로 다음과 같은 형식을 사용합니다:
echo "명령어" | bash
여기서 "명령어"는 실행하고자 하는 Bash 명령입니다. 예를 들어, 문자열을 사용하여 현재 디렉터리(디렉터리)의 파일 목록을 출력하려면 다음과 같이 할 수 있습니다:
echo "ls -l" | bash
이 명령은 ls -l 명령을 echo를 통해 출력하고, 결과적으로 출력된 명령 문자열이 바로 bash로 파이핑되어 실행됩니다.

변수 포함 사용
변수를 포함한 명령을 실행하고 싶다면, 변수 확장이 이루어지도록 주의해야 합니다. 예를 들어, 사용자가 지정한 디렉터리 내의 파일을 리스트하고 싶은 경우는 다음과 같이 할 수 있습니다:
directory="sample_dir"
echo "ls -l $directory" | bash
이 구문에서는 변수 directory가 먼저 확장되고, 그 결과가 echo를 통해 전달되며, bash로 실행됩니다.
복잡한 스크립트 파이핑
여러 명령어를 포함하는 복잡한 스크립트를 파이핑하려면, 명령어 사이에 세미콜론(;)을 사용하여 명령어를 구분할 수 있습니다:
echo "cd ~/projects; ls -l; pwd" | bash
이 스크립트는 ~/projects 디렉터리로 이동한 후, 해당 디렉터리의 파일 목록을 출력하고, 마지막으로 현재 디렉터리의 경로를 출력합니다.

정리
- 문자열 파이핑:
echo "명령어" | bash형식을 사용하여 문자열을 파이핑하고 Bash 명령을 실행합니다. - 변수 확장: 명령 내에서 변수를 사용할 때는 변수가 적절히 확장되도록 해야 합니다.
- 복잡한 스크립트: 여러 명령을 포함하는 스크립트를 실행할 때는 명령어 사이에 세미콜론을 사용합니다.
이 기법을 통해 다양한 상황에서 유연하게 Bash 명령을 생성하고 실행할 수 있습니다.
'Linuxpia > 리눅스 사용 팁' 카테고리의 다른 글
| xargs 를 이용한 명령어 사용법 (67) | 2024.04.30 |
|---|---|
| SSH (Secure Shell)를 사용하여 원격 서버에서 문자열을 명령으로 실행 (67) | 2024.04.29 |
| [리눅스 팁] bash에 문자열을 인수로 전달해서 명령 실행하기 (66) | 2024.04.27 |
| [리눅스 팁] 프로세스 치환하기 (64) | 2024.04.26 |
| 변수를 인용 부호(따옴표) 안에 넣었을 때와 넣지 않았을 때의 차이 (62) | 2024.04.25 |