주요 콘텐츠로 건너뛰기

VOS에서 POSIX 쉘("bash")을 사용한 경우 다양한 POSIX 명령을 실행하고 입력 및 출력 리디렉션과 같은 bash가 제공하는 모든 멋진 트릭을 사용할 수 있다는 것을 알고 있습니다.  그러나 많은 VOS 명령과 동일한 기능을 사용할 수 있다는 것을 알고 계셨습니까?

예를 들어 VOS "목록" 명령을 POSIX "더" 명령과 결합하려면 다음 명령줄을 bash에 입력합니다.

목록 | 더

목록 명령의 출력을 파일로 실행하려면 다음과 같은 경우

목록 >list.txt

VOS와 POSIX 모두 동일한 언더링 VOS 포트를 사용하여 터미널 또는 배치 파일에 출력을 작성하기 때문에 작동합니다.  VOS "default_output" 포트는 POSIX "stdout" 파일과 동일합니다.  그리고 VOS "default_input" 포트는 POSIX "stdin" 파일과 동일합니다.  마지막으로 VOS가 작성하는 경우 오류 메시지가 있는 VOS "terminal_output" 포트는 POSIX "stderr" 파일과 동일합니다.

다음은 VOS 명령에 배쉬 입력 리디렉션을 사용하는 (고안된) 예입니다.  "line_edit.txt"라는 파일을 다음 2줄로 만듭니다.

프린트 *
종료

그런 다음 다음과 같이 약어 파일에 대해 이러한 line_edit 요청을 실행할 수 있습니다.

line_edit abbreviations <line_edit.txt

bash는 새 자식 프로세스에서 모든 명령을 실행합니다.  자식 프로세스는 상위 프로세스에서 모든 I/O 첨부 파일과 모든 상태를 상속하므로 대부분의 명령에는 문제가 되지 않습니다.  그러나 프로세스 환경을 수정하는 VOS 명령은 예상하는 작업을 수행하지 않습니다.  예를 들어 bash 내에서 set_library_paths 명령을 실행하면 자식 프로세스의 라이브러리 경로가 변경됩니다. 명령이 종료되는 즉시 이 프로세스가 중단됩니다.  bash로 검색되는 경로를 변경하려면 PATH 환경 변수를 변경하는 POSIX 메서드를 사용하여 변경해야 합니다.

난 당신이 유용한 이러한 기술을 찾을 수 있기를 바랍니다.

© 2024 스트라투스 테크놀로지스.