쉘[도스] 도스, 환경변수

황제낙엽 2020.05.21 18:57 조회 수 : 23

sitelink1 http://egloos.zum.com/sirjhswin/v/2371970 
sitelink2  
sitelink3  
extra_vars6  

환경 변수 개요

(예전의 도스월드에 있던 자료를 따로 보관해 두었다가 올립니다)
환경 변수는 특정 프로그램이 참조하는 문자열로, DOS 명령중의 하나인 SET명령으로 설정되고 해제된다. 일반적으로, 특정 프로그램의 환경 변수는 그 프로그램이 사용자 시스템에 설치될 때 자동적으로 설정된다.
 

DOS와 관련된 기본적인 환경 변수
 

 

MSDOSDATA
MSAV.EXE와 MSBACKUP.EXE가 참조하는 하는 것으로 MSDOSDATA에 설정되는 디렉토리에는 MSAV 및 MSBACKUP의 설정파일들이 저장된다.

 

APPEND
DOS 명령인 APPEND.EXE가 참조하는 것으로, APPEND.EXE의 /E스위치로도 설정할 수 있다.

 

COMSPEC
CONFIG.SYS에서 SHELL명령으로 설정된 명령 처리기의 경로명을 포함한다.

 

CONFIG
시스템을 시작할 때 다중 시작 메뉴에서 선택한 블록명을 포함한다.

 

COPYCMD
이 환경 변수에 COPY 명령의 스위치를 설정하면 COPY명령은 이 스위치를 항상 사용한다.

 

DIRCMD
이 환경 변수에 DIR 명령의 스위치를 설정하면 DIR명령은 이 스위치를 항상 사용한다.

 

PATH
사용자가 프로그램의 실행 파일명을 입력하여 그 프로그램을 실행할 때 현재 디렉토리에 실행 파일명이 없는 경우 DOS는 PATH에 설정된 경로명에서 실행 파일명을 찾는다.

 

PROMPT
이 환경 변수에 프롬포트 모양을 설정하면, 일반적인 MS-DOS 프롬프트 모양은 이 환경 변수를 참조하여 출력된다.

 

TEMP
이 환경 변수에 경로명을 설정하면, 임시 파일(Temporary File)이 설정된 경로명에 생성된다.

 

WINPMT
이 환경 변수에 프롬포트 모양을 설정하면 윈도우즈 95/98의 도스창의 프롬포트 모양은 이 환경 변수를 참조하여 화면에 출력된다.

 

 

환경 변수의 활용

 

%환경변수%
환경 변수를 배치 파일이나 명령 프롬프트에서 사용하기 위해서는 %환경변수%의 형식을 사용해야 한다. 예를 들어, 환경 변수 PATH에 설정되어 있는 경로명에 다른 경로명을 추가하기 위해서는 아래와 같이 하면 된다.
 

C:/WINDOWS>set path
c:\windows;c:\windows\command;c:\dosapp\press32
C:/WINDOWS>set path=%path%;c:\dosapp\comext
C:/WINDOWS>set path
c:\windows;c:\windows\command;c:\dosapp\press32;c:\dosapp\comext
C:/WINDOWS>_

 

환경 변수 메모리 확보
환경 변수는 메모리에 저장되므로 한계가 있다. 일반적으로 환경 변수의 메모리 공간은 명령 처리기가 메모리에 설치될 때 함께 설정되어진다. 아래는 CONFIG.SYS파일 안에 SHELL명령으로 윈도우즈 95/98의 기본적인 명령 처리기인 COMMAND.COM을 설치할 때 /E스위치를 사용하여 환경 변수의 메모리 공간을 함께 설정한 예이다.
 

shell=c:\windows\command.com c:\windows\ /p/e:1024

 

물론, /E 스위치 뒤에 숫자를 크게 할수록 환경 변수 메모리 공간은 크지지만 시스템의 자원은 줄어든다. 즉, 사용자는 적당한 환경 변수 메모리 공간을 할당해야 한다.
4DOS를 명령 처리기로 사용한다면, 환경 변수의 메모리 공간은 4DOS.INI에서 설정할 수 있다.

번호 제목 sitelink1 글쓴이 날짜 조회 수
175 VirtualBox에 우분투(ubuntu-20.04-desktop-amd64.iso) 설치하기 file   황제낙엽 2020.07.11 41
174 Raspberry Pi에 우분투(ubuntu-20.04-preinstalled-server-arm64+raspi.img) 설치하기   황제낙엽 2020.07.10 187
173 리눅스 하드웨어 정보 및 용량 확인   황제낙엽 2020.07.08 290
172 [Windows PowerShell] ssh, sftp file https://blog.naver.com/asdf2017/221763647776  황제낙엽 2020.07.08 39
171 apt-get (Advanced Packaging Tool) [1] https://ko.wikipedia.org/wiki/%EC%96%B4%..._%ED%88%B4  황제낙엽 2020.07.08 39
170 [Docker] Docker, Portainer 입문용 블로그 링크 http://blog.naver.com/kidninja  황제낙엽 2020.07.07 17
169 VirtualBox에 라즈비안(2020-02-12-rpd-x86-buster) 설치하기 [1] file   황제낙엽 2020.07.01 76
168 "모니터 끄기" 단축아이콘과 단축키 만들기 file https://blog.naver.com/bizgood4911/221972709556  황제낙엽 2020.06.22 388
167 문자열 치환하여 변수에 저장 https://blog.naver.com/digitalog/221488405815  황제낙엽 2020.05.21 200
» 도스, 환경변수 http://egloos.zum.com/sirjhswin/v/2371970  황제낙엽 2020.05.21 23
165 [도움말 캡쳐] FOR   황제낙엽 2020.05.21 18
164 [도움말 캡쳐] IF   황제낙엽 2020.05.21 168
163 [도움말 캡쳐] SET   황제낙엽 2020.05.21 21
162 [문법] 배치 명령어 기초 작성법 file https://www.snoopybox.co.kr/1404  황제낙엽 2020.05.21 40
161 도스 배치 사용법 https://sh1n2.tistory.com/entry/DOS-%EB%...9%EC%96%B4  황제낙엽 2020.05.21 19
160 문서 파일의 내용을 쉘프로그램 변수에 담기   황제낙엽 2020.05.21 18
159 시스템 오류 1219이(가) 생겼습니다. (net use) file   황제낙엽 2020.03.13 427
158 .NET Framework 3.5 설치오류 (0x800F081F) 해결방법(Windows 10) file https://blog.naver.com/sanghun0011/221664681482  황제낙엽 2020.02.27 75
157 프로세스 강제 종료 명령어(taskkill)   황제낙엽 2019.12.31 125
156 윈도우 인증서관리 확인하기 file   황제낙엽 2019.10.11 53