Bash에서는 명령 줄에서 TEMPORARY 환경 변수를 만들 수 있습니다 . 예를 들어
DEBUG=foo somecommand
이것은 environmnet 변수를 설정 DEBUG
하지만에 대해서만 설정됩니다 somecommand
. 라인이 완료되면 DEBUG
더 이상 설정되지 않습니다.
Windows 명령 프로세서에서 비슷한 작업을 수행 할 수 있습니까?
참고 : 사용 SET
이 작동하지 않습니다. 이는 명령이 실행되는 것만이 아니라 현재 명령 프로세서 환경을 설정합니다.
다른 예제를 제공하기 위해 단일 환경 변수의 값을 인쇄하는 작은 node.js 프로그램이 있습니다.
// test.js
console.log(`${process.argv[2]}='${process.env[process.argv[2]]}'`);
bash에서 실행 해 봅시다
$ export FOO=abc
$ node test.js FOO
FOO='abc'
그런 다음 임시 설정으로 실행하겠습니다
$ FOO=def node test.js FOO
FOO='def'
FOO가 여전히 abc인지 확인
$ echo $FOO
abc
Windows 명령 프롬프트에서 동일한 작업을 수행하는 방법은 무엇입니까?
한 가지 방법은 다음과 같이 명령 프로세서를 다시 시작하는 것 같습니다
cmd /S /C "set "FOO=def" & node test.js FOO"
다른 방법이 있습니까?
set foo=bar && echo %foo% && set foo= && echo %foo%
작동하지 않습니다 :(