为什么脚本没有被执行



使用 OSX,我按原样下载了 pig-0.11.1,并在我的 bashrc 中创建了一个别名。我有以下别名:

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'

问题是当我运行类似的东西时:

piglias myscript.pig
弹出

咕噜咕噜的外壳,但似乎并没有实际执行我的脚本。

注意:我也得到了/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.

这些文件显然存在。他们每个人。

您需要在

包含分号的-D参数两边加上引号,否则它将终止命令。

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错误,因为您尝试将/dev/avro-mapred-1.7.4.jar作为程序执行,因为它在分号之后,并且没有执行权限。

相关内容

  • 没有找到相关文章

最新更新