2014-01-12 5 views
0

OSX를 사용하여, 나는 pig-0.11.1을 그대로 다운로드하고 내 bashrc에 별칭을 만들었습니다. 나는 다음과 같은 별칭이 :스크립트가 실행되지 않는 이유는 무엇입니까?

별칭 pigalias = '는/dev/돼지-0.11.1/빈/돼지 -D udf.import.list = org.apache.pig.piggybank.storage.avro -D pig.additional.jars =/dev/avro-1.7.4.jar; /dev/avro-mapred-1.7.4.jar; /dev/json_simple-1.1.jar; /Users/devpig-0.11.1/contrib /piggybank/java/piggybank.jar '

문제는 내가 뭔가를 실행할 때입니다 :

piglias myscript.pig 

꿀꿀 거리는 소리 쉘이 튀어 나올 때,하지만 AP를하지 않습니다 실제로 내 스크립트를 실행하는 배.

참고 : 나는 또한 /dev/avro-mapred-1.7.4.jar: Permission Denied을 얻고 있습니다. 파일은 chmod가 644 (모든 사용자에게 읽음)로 설정됩니다.

업데이트 : 매개 변수 주위에 따옴표를 추가 한 후, 나는 점점 오전 :

/dev/avro-1.7.4.jar;/dev/avro-mapred-1.7.4.jar;/dev/json_simple-1.1.jar;/Users/devpig-0.11.1/contrib/piggybank/java/piggybank.jar' does not exist. 

그 파일은 분명히 존재한다. 그들 각각.

+0

세미콜론은 명령 분리 기호이므로,이를 방지하려면 매개 변수를 따옴표로 묶어'-D'에 넣어야합니다. – Barmar

답변

0

세미콜론을 포함하는 -D 매개 변수 주위에 따옴표가 필요합니다. 그렇지 않으면 명령이 종료됩니다. 당신이 프로그램으로 /dev/avro-mapred-1.7.4.jar을 실행하기 위해 노력하고 있기 때문에 세미콜론 후 이후

alias pigalias='/dev/pig-0.11.1/bin/pig -D udf.import.list=org.apache.pig.piggybank.storage.avro -D "pig.additional.jars=/dev/avro-1.7.4.jar;/dev/avro-mapred-1.7.4.jar;/dev/json_simple-1.1.jar;/Users/devpig-0.11.1/contrib/piggybank/java/piggybank.jar"' 

당신은 Permission denied 오류가 발생하고, 그것은 실행 권한이 없습니다.

+0

ERROR101 파일 받기 '/dev/avro-1.7.4.jar;/dev/avro-mapred-1.7.4.jar;/dev/json_simple-1.1.jar;/Users/devpig-0.11.1/contrib/ piggybank/java/piggybank.jar '가 존재하지 않습니다. – Setsuna

+0

세미콜론으로 파일을 분리하지 않아도되는 것처럼 들리네. 콜론이 사용 된 것일까 요? 나는 돼지에 대해 아무것도 모른다. – Barmar

관련 문제