유 닉 스 학습 노트 --- 해석 기 파일 (interpreter file)
본론 으로 들 어가 면 해석 기 파일 은 114 이 고 경찰서 경찰 아저씨 가 지정 한 해석 기 입 니 다.이렇게 하 는 장점 은 바로 해석 기 파일 에 해석 기 를 지정 하여 해당 하 는 장면 상황 에 대해 해당 하 는 처 리 를 할 수 있다 는 것 이다. 예 를 들 어 내 가 114 라면 나 는 샤 오 밍 의 돈 을 직접 비밀 로 할 수 있다.(이 추구...)
시스템 에서 빈 디 렉 터 리 에 설 정 된 해석 기 를 제외 하고 스스로 해석 기 를 작성 할 수 있 습 니 다. 사실은 프로그램 입 니 다.구체 적 인 실례 와 절 차 는 다음 과 같다.
이 예 는 모든 프로그램 이 사용자 정의 작업 디 렉 터 리/home/wwe/code/interpreter 에서 완 료 됩 니 다.
1. 자신의 해석 기 작성:
1.1 파일 이름 은 echoarg. c 입 니 다.
#include <stdio.h>
//function: print out all the args
int
main(int argc,char *argv[])
{
int i;
for(i = 0; i < argc;i++)
printf("arg[%d]: %s
",i,argv[i]);
return 0;
}
1.2 컴 파일:
1.3 생 성 된 a. out 을 echoarg 로 변경 하여 자신 이 정의 한 해석 기 를 얻 었 습 니 다.
2. 해석 기 파일 -- interp 만 들 기
2.1 새 텍스트 문서, interp 라 는 이름
2.2 파일 에 해석 기 가 있 는 위 치 를 기록 합 니 다.
#!/home/wwe/code/interpreter/echoarg
2.3 、 :
[root@localhost interpreter]# ll
-rw------- 1 root root 37 Aug 23 00:54 interp
실행 권한 이 없고 변경 되 었 음 을 알 수 있 습 니 다.
[root@localhost interpreter]# chmod 777 interp1
-rwxrwxrwx 1 root root 38 Aug 23 00:27 interp
3. 테스트: 새 파일 interpreter. c
#include <unistd.h>
#include <stdio.h>
int main()
{
pid_t pid;
int status;
status = execl("/home/wwe/code/interpreter/interp1","interp1","myarg1","myarg2",(char*)0);
if(status < 0)
printf("execl_err: %d
",status);
return 1;
}
결과:
[root@localhost interpreter]# ./a.out
arg[0]: /home/wwe/code/interpreter/echoarg
arg[1]: /home/wwe/code/interpreter/interp1
arg[2]: myarg1
arg[3]: myarg2
해석 기 파일 에 선택 가능 한 인자 추가:
#! /home/wwe/code/interpreter/echoarg "I come from interp1 file"
결과:
[root@localhost interpreter]# ./a.out
arg[0]: /home/wwe/code/interpreter/echoarg
arg[1]: "I come from interp1 file"
arg[2]: /home/wwe/code/interpreter/interp1
arg[3]: myarg1
arg[4]: myarg2
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
LINUX 시리즈(1부)UNIX는 1969년 AT&T에서 개발한 운영 체제입니다. UNIX는 다중 사용자, 다중 프로세스 운영 체제입니다. 기본적으로 사용 가능한 두 가지 기본 UNIX 버전이 있습니다. 대부분의 UNIX 버전은 이러한 버...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.