--flag 설정 명령을 사용하십시오.

--flag 설정 명령을 사용하십시오.

다음과 같은 두 개의 문자열 필드(공백으로 구분)가 포함된 파일(텍스트)이 있습니다.

1.2.3  version1

다음과 같이 set 명령을 사용하면 첫 번째 필드는 $1에 있고 두 번째 필드는 $2에 있습니다. 이 명령의 기능을 설명할 수 있는 사람이 있나요? 특히 <어떡하지? 이것이 입력 리디렉션입니까?

set -- $(<text)

답변1

이 명령은 두 가지 특별한 트릭을 결합합니다.

놓다 -

일반적으로 set쉘 옵션을 구성하는 데 사용됩니다(쉘의 매뉴얼 페이지 참조). 특별한 경우는 입니다 set --. 위치 매개변수를 설정하는 데 사용됩니다. 아쉽게도 그게 뭔지 잊어버렸는데, 다른 방법으로는 잘 풀리지 않는 문제에 대한 글을 읽은 적이 있습니다.

$(<파일)

$(command)명령 대체입니다. 쉘은 stdout에서 출력을 수집하고 $(command)명령줄을 실행할 때 이를 바꿉니다. 파일의 내용이 필요한 경우 다음과 같이 할 수 있습니다. $(cat file).단지 $(< file)짧은 버전으로 불필요한 프로세스를 저장합니다( cat).

관련 정보