환경과 오류 수 : Centos6 64 비트쉘 스크립트는 절대 경로로 실행되지만 상대 경로
(mysql.sh
이름) 쉘 스크립트가있다
; 이 파일에 위치하고 다음과 같이 /home/user1/sbin/mysql.sh
매개 변수 '다시 시작'이 스크립트를 실행하는 동안, 그 결과는 다음과 같습니다
1) PWD :/홈/사용자 1/sbin에/
#./mysql.sh restart Fail Prompt:No such file or directory
#/home/user1/sbin/mysql.sh restart ok
#../sbin/mysql.sh restart ok
2) PWD :/홈/사용자 1
#./sbin/mysql.sh restart Fail Prompt:No such file or directory
3) PWD :/
#/home/user1/sbin/mysql.sh restart ok
경로가 있으면 mysql.sh는 'start'및 'stop'매개 변수를 사용하여 성공적으로 실행할 수 있습니다.
그래서이 스크립트 (mysql.sh)의 버그일지도 모릅니다. 이 스크립트는 공식 mysql.sh
(mysql.server 스크립트)과 유사하지만 약간 수정되었습니다.
그래서 무엇이 잘못 되었나요? "./mysql.sh 쉬"
를 사용하는
'../sbin/mysql.sh restart'가 작동합니까? 오타 또는 어쩌면 코드의 버그와 같은 소리 일 것입니다. – MeetTitan
'/ home/user1/sbin restart'가 작동한다는 내용의 줄은'/ home/user1/sbin/mysql.sh'가 아니라'/ home/user1/sbin'이라는 스크립트를 의미합니다. 디렉토리를 실행할 수 없습니다 (디렉토리의'x' 권한은 디렉토리에있는 파일을 사용할 권한을줍니다). 실제로 그 질문에 오타가 있다고 가정합니다 (마지막에서'mysql.sh'를 놓쳤습니다). –
'# '표시는 스크립트를 사용자'root'로 실행하고 있음을 나타 냅니까? '/ home/user1/sbin/mysql.sh' 경로 ('ls -l/home/home/user1/home/user1/sbin/home/user1/sbin/mysql을 검사한다. sh')? 특이한 권한이 관련되어 있습니까? 동일한'ls -l' 명령이이를 나타낼 것입니까? –