당신이 원하는 것을 정확히 할 방법이 없습니다.
source envFile
명령과 대체 문자 . envFile
은 매우 유용 할 수 있습니다.
envFile 파일은 환경 보증 목록 일뿐입니다. 당신은 '소스'는 envFile (모든 이름은 작동합니다)에 스크립트에 명령을 포함하는 경우는 기본 쉘 스크립트에서 직접 것처럼
FrontOfficeSystem=MyFrontOffice
BackOfficeSystem=myBackOffice
는, 쉘 코드를 읽습니다. 많은 langauges에서 '포함'처럼. 하지만 네임 스페이스는 .. 다음을 참조하십시오.
더 많은 도움이되었습니다. 고급 Bash 스크립팅의 indirect references을 참조하십시오. 이는 아마도 eval ...
(아래 참조)을 사용하는 것보다 낫겠지 만 작업 할 기회가 없었습니다.
마지막으로, 당신은 또한, 평가 및 varname에 간접에서 즉
src=FrontOffice
eval \$${src}System="${src} has data"
src=BackOffice
eval \$${src}System="${src} has data"
안 좋은 예를 도움이 될,하지만 난 정말이 생각에 마을에 갔다 스크립트에 액세스 할 수 없습니다. 그것은 내가 각 원소에 대해 10 번 반복해야만하는 코드를 일반화 (sp)하는데 도움이된다. src (for 루프에 반복되는 코드 블록을 넣고 src 이름을 for), 평가는 $ {src} System을 FrontOfficeSystem, BackOfficeSystem으로 확장합니다. src 목록에 대한 값에 공백이있는 경우에는 모든 베팅이 해제됩니다.
터미널 창에서 set -vx
을 사용하고 위의 코드를 복사/붙여 넣기하면 어떻게 작동하는지 볼 수 있습니다. 도움이 될 수도 있습니다.
이 정보가 도움이되기를 바랍니다.
P. 당신이 새로운 사용자로 보일 때, 당신이 그것을 받아 들일 수있는 것으로 표시하고/또는 유용한 답으로 + (또는 -)를주는 것을 기억하는 데 도움이되는 대답을 얻으면.
BTW는 커뮤니티를 결정하는 관리자가 아닙니다. 그렇게 말하면서, 나는 이것을하는 껍데기가 없다는 것을 알고 있습니다. 그들은 모두 내부 명령이나 경로에 의존합니다. 명령을 가져 오려면 경로에 추가하십시오. – paxdiablo
감사합니다. 명령이 아닌 이름 (a.k.a. 변수)을 가져 오려고합니다. –
일반적인 스크립트에서 변수/별칭/함수를로드하는 데 항상'source'를 사용할 수 있습니다. –