은 내가 디버그 할 필요가 일부 쉘 코드를 가지고, 그래서 코드는 내가 그것을 소스 할 파일소싱 ENV 출력
env > env.txt
에 내 테스트 스크립트를 사용하여 환경을 덤프했다 test.sh : env.txt의
. ./env.txt
echo $EXAMPLE
echo $EXAMPLE2
내용은 다음과 같습니다
가EXAMPLE=sh /hello/command.sh
EXAMPLE2=/just/some/path
하지만, ENV는이 유발하는 경향이 그 값을 따옴표를 넣지 않습니다 /hello/command.sh :
때문에 명확하게 변수를 설정하는 대신 그것을 실행하려고 발견되지 $ 예를 들어 소송을 제기,이 오류를test.sh를 얻을.
이 문제에 대한 가장 빠른 해결 방법은 무엇입니까?
Hm,'set> env.txt'는 모두를 모두 설정하지만 현재 env.txt에는 도움이되지 않습니다 ... – Wrikken
'env> env.txt'는 * environment * 변수들,하지만'. ./env.txt'는 Bash 변수를 * export하지 않고 설정합니다. 이게 네가 원하는거야? – ruakh
일부 셸에서'set> env.txt'는 그 시점의 표준 출력을'env.txt'로 재전송합니다. 이식성을 위해서,'(set)> env.txt'를 사용하는 것이 더 안전합니다. – Idelic