2014-09-10 4 views
0

내 crontab (또는 일반 셸)에서 sh를 실행하는 동안 오류가 발생했습니다. 나는 Xuser 사용자를 만들었고 그의 홈 디렉토리에서/opt/app /opt/app에 대한 심볼릭 링크를 만들었습니다. -> drwxrwxr-- Xuser 테스트 이 폴더에 serveral sh와 jar를 저장합니다. 이제이 사용자의 crontab을 또는 심지어 내가 이것을 실행하려고하면 셸에서./대신 crontab에/

: 나는이 사이에 공백을 넣으면

./opt/app/bin/ind.sh 
-bash: ./opt/app/bin/ind.sh: No such file or directory 

남반구 파일은

#!/bin/sh 
export JAVA_HOME=/usr/java/latest/ 
export PATH=$PATH:$JAVA_HOME 
export PATH=$PATH:$JAVA_HOME/bin 

java -jar /opt/app/bin/ind.jar 

입니다./그것은

. /opt/app/bin/ind.sh 
: command not found 
Error: Unable to access jarfile /opt/app/bin/ind.jar 

합니다 (SH 액세스하지만 문제는 단지 하하하에 전달할 것으로 보인다) 작동

누군가가 문제를 발견?

감사합니다 !!!

답변

0

큰 차이가있다, 당신은 ./. 파일 경로의 더 이상 일부 없지만 source의 별칭이며, 현재 쉘에서이 파일의 내용을 실행 "을 의미 사이에 공백을 넣을 때 ".

// execute in a subshell 
./foo/bar/baz.sh 

// execute in this shell 
. ./foo/bar/baz.sh 

// this is not the same file as previously, unless we are at the root (/) 
. /foo/bar/baz.sh 
+0

감사합니다. 원본없이 테스트를 실행합니다. 이것은 나에게 나쁜 통역사의 오류를 주었다. VI를 사용할 때 : fileformat = unix를 설정하고 파일을 저장하면 이제는 제대로 작동합니다 .... – Luis