2010-11-23 8 views
0

~/programming/ass1에 있고 실행 파일이 ~/programming/ass1/seattle/seattle_repy/repy.py에 있다고 가정합니다. "내가 할 ( 프로그램에 대한 심볼릭 링크 생성

나는

python repy restrictions.test example.1.1.repy 

대신

python seattle/seattle_repy/repy.py restrictions.test example.1.1.repy 

입력 할 수 있도록

ln -s seattle/seattle_repy/repy.py repy 

같은 심볼릭 링크를 만들려고하지만 그것은 작동하지 않았다 파이썬 : '/ home/philipp/Desktop/Uni/NTM/UE/Uebungsblatt 3/safe_check.py': [Errno 2] 파일을 열 수 없습니다. '). 그래서 repy.py는 safe_check.py를 찾을 수 없습니다.

전혀 가능합니까?

건배,

필립
+0

safe_check.py는 무엇입니까? – Mark

+0

은 seattle/seattle_repy /에 있으며 repy.py가 호출합니다. –

답변

1

당신은 모듈을 포함하는 경로를 추가 할 sys.path을 FROB해야하지만 exec python ~/programming/ass1/seattle/seattle_repy/repy.py를 호출하는 쉘 스크립트를 만드는 것이 더 쉬울 것입니다.

+0

팁 주셔서 감사. ~/프로그래밍/ass1/repy.sh에서 bash 스크립트로 해결했습니다. –

0

감사합니다. Ignacio와 Mark. 나는 ~/프로그램에서 다음 bash는 스크립트/ass1와 그것을 해결

 
#!/bin/bash 
exec python ~/programming/ass1/seattle/seattle_repy/repy.py [email protected] 

마지막으로 내가는/usr/빈에 복사하고 그것에 심볼릭 링크 생성 원하는 것을 얻으려면 :

sudo cp repy.sh /usr/bin/ 
sudo ln -s /usr/bin/repy.sh /usr/bin/repy 

을 이제는 단지 repy restrictions.test example.2.1.repy이라고 말할 수 있습니다.

+0

매개 변수를 인용해야합니다. 또는 더 나은 방법은 모든 매개 변수를 전달하는''$ @ ''를 사용하는 것입니다. –

+1

'$ @'이 아니라''$ @ ''입니다. 따옴표는 공백이있는 인수가 분리되지 않기 때문에 중요합니다. –

+0

일반적으로'/ usr/bin'과'/ bin'을 시스템에 남겨두고 거기에 물건을 설치하는 것을 피해야합니다. 업그레이드를 쉽게하는 경우가 많습니다. '/ usr/local/bin'이나'$ HOME/bin'을 쓰면 다른 사람들이 그것을 사용하기를 원할 수도 있습니다. –