2013-07-20 2 views
2

내 $ PATH에있는 ~/bin /에있는 스크립트를 작성하고 있습니다. 이 스크립트를 시스템의 어느 곳에서나 호출하고 싶습니다 (GNU/Linux이지만, 이것은 중요하지 않습니다). 현재 디렉토리의 내용을 읽으 려합니다.rebol 스크립트에서 현재 디렉토리를 읽는 방법

불행히도 스크립트는 항상 ~/bin/contents를 읽습니다. 즉, 스크립트 자체가있는 곳입니다.

예 :

# [email protected]: ~  <2013_07_20__11_18_57> 
cat ~/bin/test.r 
#!/usr/bin/rebol 
rebol [] 
print what-dir 

    # [email protected]: ~  <2013_07_20__11_18_57> 
pwd 
/home/pierre 

    # [email protected]: ~  <2013_07_20__11_18_57> 
test.r 
/home/pierre/bin/ 

는/usr/빈/REBOL의 인터프리터가 Rebol2 /도이다. 그것은 예상대로 작동, 콘솔에서 지금

# [email protected]: ~  <2013_07_20__11_18_57> 
cat ~/bin/test.r 
#!/usr/bin/rebol3 
rebol [] 
print what-dir 

    # [email protected]: ~  <2013_07_20__11_18_57> 
test.r 
/home/pierre/heaume_pierre/bin_scripts/ 

    # [email protected]: ~  <2013_07_20__11_18_57> 
ll | grep bin 
lrwxrwxrwx 1 root root   26 déc. 29 2010 bin -> heaume_pierre/bin_scripts/ 

: 나는 Rebol3를 사용하는 경우, 결과는 동일하며, 단지 내 ~/빈/심볼릭 링크를 역 참조

# [email protected]: ~  <2013_07_20__11_18_57> 
rebol 
>> print what-dir 
/home/pierre/ 

내가 찾아 문서를 통해,하지만 도움이되는 아무것도 찾을 수 없습니다.

누구든지 이것을 달성하는 방법을 알고 있습니까? 일종의 유틸리티를 작성하고자하는 모든 분께 이것은 분명히 매우 일반적인 문제입니다.

답변

4

Rebol2 및 Rebol3 모두 system/options/path은 (는) 친구입니다.

+0

감사합니다. 나는 왜 아직도 %를 궁금해하고 있습니다. system/options/path와 동일하지 않습니다. – Pierre

+1

나는 그것에 대해서도 관심이있을 것이다. 나를위한 더 큰 문제는 이런 종류의 질문을 반복해서 피하는 방법입니다. 그러한 디자인 결정을 접근 가능한 방식으로 표현하는 방법은 무엇입니까? [REBOL/Core User Manual] (http://www.rebol.com/docs/core23/rebolcore.html)은 이러한 종류의 질문에 많은 답변을 주었지만 조금 구식입니다. : / – onetom

0

예상대로 그것은 지금 시스템/옵션/경로의 변경-DIR 후, 작동 : 내 스크립트의 대부분의 시작이 작업을 수행 할 수 있습니다

# [email protected]: ~  <2013_07_20__16_40_26> 
cat ~/bin/test.r 
#!/usr/bin/rebol3 
rebol [] 
change-dir system/options/path 
print what-dir 

    # [email protected]: ~  <2013_07_20__16_40_26> 
test.r 
/home/pierre/ 

. 감사합니다, onetom!