2013-06-25 3 views
0

저는 cygwin 터미널에 수동으로 탐색 명령을 입력하는 불편 함을 제거하기 위해 일련의 bash 스크립트를 만들고 있습니다. 나는 다음과 같은 명령을 실행하면아주 간단한 bash 스크립트가 작동하지 않습니다.

#!/bin/bash 
cd /cygdrive/c/xampp/htdocs/www 

가 :

$ ./www.bat 

내가받을 다음과 같은 오류가 :

C:\Users\user>cd /cygdrive/c/xampp/htdocs/www 
The system cannot find the path specified. 

어떤 이상한 그는 내 XAMPP/WWW/디렉토리로 이동 하나 그 명령을 수동으로 입력하면 문제없이 의도 한 디렉터리로 이동합니다. 나의 첫 번째 생각은 Cygwin의 디스크 드라이브 이름에 문제가 있다는 것이지만, 문제가된다면 수동 타이핑시 실패 할 것입니다.

무엇을 제공합니까?

+0

아니 Cygwin에서 사용자,하지만 문제는 당신이 그것을라는 것을 가정 것'.bat', Cygwin에서, 그래서 실행'cmd'를 호출한다 그것? –

답변

3

오류는 Windows 명령 줄 인터프리터에서 가져옵니다. 스크립트의 길이가 .bat이므로 호출됩니다. 대신 www.sh이라고해야합니다.

그러나 스크립트로 원하는 것을 수행 할 수 없습니다. 새 프로세스가 스크립트를 실행하기 위해 생성되고 새 프로세스는 디렉토리로 이동하지만 스크립트가 끝나면 프로세스가 종료되고 이전의 현재 디렉토리를 가지고있는 호출 쉘의 프로세스로 리턴된다. 호출 쉘과 동일한 프로세스에서 실행되도록 bash (. /path/to/www.sh)에서 스크립트를 가져와야하지만, 원하는 것을 과도하게 수행해야합니다. 그냥 홈 디렉토리 (/home/<user>/.bashrc)에 .bashrc이 추가 :

alias www='cd /cygdrive/c/xampp/htdocs/www' 
+0

그건 의미가 있습니다. 매우 감사합니다! – user2450099

+0

@ user2450099 여러분을 환영합니다. – ctn

+0

내 별명을 ~/.bashrc 파일에 추가 한 다음 Cygwin 셸을 실행했을 때 "-bash : www : 명령을 찾을 수 없음"오류 만 표시되었습니다. 어떤 아이디어? – user2450099

관련 문제