나는 두 개의 jshell 스크립트 script.jsh과 commons.jsh을 동일한 폴더 /path/folder
에 가지고 있습니다.jshell 명령`/ open`은 작업 디렉토리 대신 스크립트가있는 폴더에 상대적으로 작동 할 수 있습니까?
script.jsh :
/open commons.jsh
commons.jsh :
System.out.println("commons.jsh loaded")
- 내가
/path/folder
에서 오전, 난이jshell script.jsh
을 실행할 수 있으며 잘 - 만약 작동 나는
/path/folder/subfolder
에 있는데 나는 0을 돌린다.이면File 'commons.jsh' for '/open' is not found
으로 실패합니다.
이 문제가 해결 되었습니까? 즉, jshell 명령 /open
은 작업 디렉토리 대신 스크립트가있는 폴더에 상대적으로 작동 할 수 있습니까?
비슷한 질문은 bash는 여기를 요청했다 : Bash: How _best_ to include other scripts?
EDIT1을 :
Edit2가 더 정확한 질문을 : 여기에 내가 작업 한 실제 jshell 스크립트는 이 질문을 쓸 때 첫 번째 스크립트는 여기 https://framagit.org/Gwendal/helpful-scripts/blob/3e8118970a6a412dfe0f199e93545745d890243f/jshell/dia2pdf.jsh 헬퍼 메서드가 포함 된 두 번째 스크립트를 엽니 다 https://framagit.org/Gwendal/helpful-scripts/blob/3e8118970a6a412dfe0f199e93545745d890243f/jshell/commons.jsh
,
잠시 동안이 문제에 대해 생각해 보았습니다. IMHO, 유스 케이스는 Interactive Shell [(! = REPL)] (https://www.johndcook.com/blog/2012/06/26/shell-repl/)이 필요합니다. Y 위치에서 실행될 X 스크립트의 특정 위치 사용의 주요 차이점. 이러한 사용자 입력이 지원 될 수 있지만 REPL이이를 제공 할 수 있는지 평가해야합니다 (https://softwareengineering.stackexchange.com/questions/168285/difference-between-a-repland). -interactive-shell). 하지만 작동 할 수있는 것은'.sh' 스크립트 eq로'.jsh'를 싸는 것입니다. – nullpointer