7.3 문자열로 명령 실행하기

모든 명령어는 문자열이다. 그중에서도 몇몇 명령은 더욱 ‘문자열스럽다’. 텍스트를 조각조각 이어 붙여 문자열을 구성하고 이 문자열을 명령으로 실행하는 방법을 소개하겠다.

bash에 문자열을 인수로 전달해 명령으로 실행하기

bash로 문자열을 파이핑해 표준 입력 스트림을 통해 명령 실행하기

ssh를 이용해 다른 호스트로 명령 전달하기

xargs로 명령의 연속열을 실행하기

icon_warning Warning

지금부터 소개할 기법은 눈으로 확인하지 못한 문자열을 셸로 전달해 실행하는 기법이므로 어느 정도의 위험성이 있다. 확인하지 않은 명령을 실행해서는 안 되며, 실행 전에 완성된 문자열(또는 그 출처의 신뢰성)을 확인해야 한다. rm -rf $HOME 명령을 실수로 실행해 모든 파일을 날리고 싶지 않다면 말이다.

 

 

7.3.1 다섯 번째 방법: bash에 문자열을 인수로 전달해 명령으로 실행하기

앞서 6.1절 ‘셸은 실행 파일이다’에서 설명했듯이 bash 역시나 평범한 명령의 한 가지다. 그러므로 명령행에서 직접 실행이 가능하다. bash를 실행하면 기본적으로 명령을 직접 입력해 실행하는 대화형 셸이 열리지만, bash 명령에 문자열을 인수로 전달(-c 옵션)하면 해당 문자열을 명령으로 실행하고 종료된다.

chapter07 ...

Get 효율적인 리눅스 명령어 사용의 기술 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.