Bourne 쉘에서 명령 대체
명령 대체를 사용하면 명령의 출력을 다른 명령에 대한 인수로서 캡처할 수 있습니다.
역인용 부호(``) 안에 명령행을 두면,
쉘은 먼저 명령을 실행한 후 역인용 부호를 포함한 전체 표현식을 출력으로 대체합니다. 이 기능은 종종
쉘 변수에 값을 제공할 때 사용됩니다. 예를 들어,
다음과 같습니다.
today=`date`today 변수에 현재 날짜를 표시하는 문자열을
지정합니다. 다음과 같이 지정하면 현재 디렉토리의 파일 수가
files 변수에 저장됩니다.files=`ls | wc -l`표준 출력에 쓴 명령에 대해 명령 대체를 수행할 수 있습니다.
명령 대체를 내포하려면, 다음과 같이 각 내포된 역인용 부호 앞에 백슬래시(\)를
두십시오.
logmsg=`echo Your login directory is \`pwd\``' read 특수 명령을 사용하여 셸 변수에 간접적으로 값을 지정할 수도 있습니다. 이 명령은 표준 입력(보통 키보드)으로 한 행을 얻어
그 행의 연속 단어를 이름 붙여진 변수에 지정합니다. 예를 들어 다음과 같습니다.
read first init last다음 양식의 입력 행을 사용합니다.J. Q. Public사용자가 입력한 것과 같은 효과가 있습니다.first=J. init=Q. last=Publicread 특수 명령은 마지막 변수에 남는 단어를 모두 지정합니다.