Built-in, 즉 미리 설정된 명령어들을 사용할 수 있게 발전시켰었다!
이번에는 personalized settings, 즉 사용자의 개인 설정을 만들어보자
이전 포스트에서는 또 전역변수와 로컬변수를 설정해서, Built-in을 사용가능케 했다.
밑의 예시를 확인해보자
#include <stdio.h>
#include <unistd.h>
extern char** environ; //외부에 정의된 environ 변수를 사용하기 위한 선언
//environ은 현재 환경 변수에 대한 정보를 포함하는 전역 변수이다
int main(){
for(int i = 0; environ[i]; i++){ //environ배열을 순회, 환경 변수 출력
printf("%s\n", environ[i];
}
}
#include <stdio.h>
#include <unistd.h>
extern char** environ;
int main(){
char* table[3]; //table
table[0] = "TERM = vt100"; //출력할 값
table[1] = "HOME=/on/the/range"; //경로를 보여줌
table[2] = 0; //문자열의 종료를 나타냄
environ = table; //
execlp("env", "env", NULL); //프로그램 실행 부분
}
#include "varlib.h"
void setup(){
extern char** environ; //environ변수 사용
VLenviron2table(environ);
signal(SIGINT, SIG_IGN);
signal(SIGQUIT, SIG_IGN);
}