sage에 대한 man 페이지 나 다른 문서가이 문제를 특별히 다루지 않고 unix/linux/cygwin (ish) 셸을 사용한다고 가정하면 here-documents가 cmds를 현자를위한 스크립트. 또한 항상 쉘 스크립트의 첫 번째 라인 인 '그녀 - 쾅'라인으로 #!/bin/ksh
또는 #!/bin/sh
등을 사용할 수 있습니다
#!/bin/bash
#to get into sage shell
/Applications/sage/sage -sh <<EOS
easy_install -U distribute #to install package
exit #to get out of sage shell
EOS
보십시오. 당신은
chmod 755 ./mySageTalkerScript.sh
그리고 중 하나를 PATH 변수에 스크립트의 경로를 포함 시키거나 (chmod를 cmd를 참조) 상대 경로를 제공함으로써, 또는 전체로 만든 스크립트 파일을 실행해야합니다 경로, 당신은 코드에 더가 발생한 것을 나타 내기로
/path/to/script/mySageTalkerScript.sh
을 IE와 코드를 들여 쓰기하여 모범 사례를 다음하는 경우, 당신은 들여 쓰기 위해 탭을 사용하여, 그들은 당신이
으로 전체 블록을 들여 수
#to get into sage shell
/Applications/sage/sage -sh <<-EOS
easy_install -U distribute #to install package
exit #to get out of sage shell
EOS
'-'문자가 <<-EOS
사이에 추가되었습니다. -EOS
을 사용하지 않는 경우 EOS
마감이 왼쪽 여백에 있어야합니다. 두 경우 모두 EOS
이 줄에 서 유일하게 있어야합니다. 그리고 마지막으로, EOS는 어떤 문자열이 될 수도 있고, 어떤 사람들은 !
을 사용하지만, 덜 혼란 스럽기 때문에 EndOfScript, EndOfData (EOS, EOD)와 같은 약어를 사용합니다.
sage
이 응답하지 않으면 -sh
을 제거하거나이 컨텍스트에 맞는 다른 cmd-line 옵션을 찾으십시오. 그것은 현자가 std-in에서 읽지 않는 것일 수도 있습니다 (이것은 here-document
이 사용하는 것입니다). sage
이 std-in에서 읽을 수 있는지 확인하는 가장 기본적인 테스트는 echo exit | sage -sh
입니다.
IHTH.
나는 동의한다. 그러나 내가 원하는 것은 그것이 그것을 원하는대로 달릴 수있는 방법이다. – Chris