2013-06-04 7 views
0

에서 멀티 워드 텍스트를 읽을 로 나에게 오류를 제공합니다 :명령 줄

Enter description of new version: hope it works 
error: pathspec 'it' did not match any file(s) known to git. 
error: pathspec 'works'' did not match any file(s) known to git. 
fatal: too many params 

때로는 같은주고있다 :

Enter description of new version: final check 
error: pathspec 'check'' did not match any file(s) known to git. 
fatal: Failed to resolve 'check'' as a valid ref. 
Everything up-to-date 

이 페이지 무엇입니까 내 대본에 문제가있어?

내가 사용 해봤 변수 $ 내림차순

에 명령 줄에서 여러 단어 설명을 읽을 수있는 원인과 해결 방법을 제안하십시오 :

echo -n 'Enter description of new version: '; 

read text; 

desc="'"$text"'"; 

git commit -m $desc; 

하지만 사용. 에

git commit -m hope it works 

git commit -m "hope it works" 

첫 번째 시도 :

git commit -m "$desc" 

차이가 하나 사이입니다 :

+0

''git commit -m '$ desc''과'git commit -m' " '$ desc'" ''시도했는데 왜 작동하지 않았습니까? – sivareddy963

답변

3

당신은 인용 할 필요가 사전에 감사합니다 파일을 커밋한다.메시지가 hope 인과 works 인 반면, 후자는 메시지 hope it works을 사용하여 색인을 커밋합니다.

+0

고맙습니다! ..! – sivareddy963

+0

그 목적을 위해 나는 작은 따옴표를 사용했다. 즉,'git commit -m '$ desc'' 또한'git commit -m ' "'$ desc '"'' 하지만 작동하지 않았다. , 왜? – sivareddy963

+0

작은 따옴표 안에 매개 변수가 확장되지 않습니다. 두 번째 경우에는'$ desc'를 인용하지 않기 때문에 셸이 두 개의 리터럴 이중 따옴표 (작은 따옴표로 각각 따옴표로 묶음)를보기도 전에 여전히 별도의 단어로 확장됩니다. – chepner