2016-08-26 3 views
-2

저는 bash 스크립트를 작성 했으므로 변수를 지정하는 경우에도 스크립트가 실패합니다. 나는 다음과 같은 선언이 내 스크립트에서가변 감속 만있는 쉘 스크립트에서 명령을 찾을 수 없습니다.

:

-bash: pcre-version=8.39: command not found 

내가 잘못 뭐하는 거지 :

pcre-version="8.39" 

프로그램을 실행하려고 시도 후 나는이 오류가?

+3

그건 이상한 오류입니다. 'httpd-version = 2.4.23 : 명령을 찾을 수 없습니다 ','apr-version-var = 1.5.2 : 명령을 찾을 수 없습니다'등 5 개의 오류를 예상합니다. pcre-version. 또는 무엇이 일어나고 있는지 정확히 설명하지 않았습니다. –

+0

결국 나는'pcre-version = "8.39"라는 단일 명령 만 입력하면 오류가 발생했다. – johnramsden

답변

5

-이 변수 이름의 유효한 일부가 아닌, chepner가 지적했듯이 대신

그것은 pcre - version = "8.39" 처럼 해석되고있어 _를 사용해보십시오, 원래 문자열에는 IFS 문자가없는, 그래서 그것은 단어 분리의 대상이되지 않을 것입니다. 모든 사람들은 (일반적으로 적어도) 유효한 파일 시스템의 문자입니다 그래서 명령 이름으로 간주하고, 따라서 오류 메시지

에 대해 이야기 this related question on U&L를 참조 발견 될 가능성이하지 않은, PATH에서 검색 있어요 그리고 그것은 "Gotcha"입니다. here

+1

하나의 nit :'pcre-version = 8.39'는 하나의 단어로 해석됩니다. – chepner

+0

이런 젠장, 그건 미친 짓이야. 어떻게 그걸 모른 채, 배쉬를 사용하고 있었 니? – johnramsden

관련 문제