2011-09-01 1 views
0

파이썬에서는 "가져 오기"를 사용하여 다른 네임 스페이스의 이름을 현재 네임 스페이스로 가져올 수 있습니다.Cygwin (또는 실제 UNIX 쉘)은 Python에서와 같이 다른 네임 스페이스의 이름을 현재 네임 스페이스로 가져 오는 명령이 있습니까?

마찬가지로 UNIX 쉘 스크립팅에는 "네임 스페이스"와 같은 개념이 있습니까? 그렇다면 Cygwin (또는 실제 UNIX 셸)은 Python에서와 같이 다른 네임 스페이스의 이름을 현재 네임 스페이스로 가져 오는 명령을 갖고 있습니까? 감사.

관리자 권한이있는 커뮤니티 회원에 대한 메모 :이 질문은 "수퍼 유저"질문 대신 프로그래밍 질문이라고 생각합니다. 친절하게도 동의하지 않는 이유는 무엇인지 자세히 설명해주십시오. 시간 내 주셔서 감사합니다.

+2

BTW는 커뮤니티를 결정하는 관리자가 아닙니다. 그렇게 말하면서, 나는 이것을하는 껍데기가 없다는 것을 알고 있습니다. 그들은 모두 내부 명령이나 경로에 의존합니다. 명령을 가져 오려면 경로에 추가하십시오. – paxdiablo

+0

감사합니다. 명령이 아닌 이름 (a.k.a. 변수)을 가져 오려고합니다. –

+1

일반적인 스크립트에서 변수/별칭/함수를로드하는 데 항상'source'를 사용할 수 있습니다. –

답변

0

당신이 원하는 것을 정확히 할 방법이 없습니다.

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. 당신이 새로운 사용자로 보일 때, 당신이 그것을 받아 들일 수있는 것으로 표시하고/또는 유용한 답으로 + (또는 -)를주는 것을 기억하는 데 도움이되는 대답을 얻으면.

+0

도움을 많이 주셔서 감사합니다. –

관련 문제