如果我从终端启动Google Code上传Python脚本,它会按预期工作,但是当我使用Bourne Shell脚本文件中的以下代码启动它时,它会失败,并显示错误“close failed in file object destructor: Error in sys.excepthook: Original exception was:
”。 / p>
#!/bin/sh
BUILD_FOLDER="/Users/James/Documents/Xcode Projects/Uber Sweep - Mac/build/Release & Package"
if [ -f "$BUILD_FOLDER/Uber Sweep (64 bit).zip" ]; then
python /Users/James/Scripts/Google\ Code\ Upload.py -s "Uber Sweep - Mac OS X (64 bit)" -p "uber-sweep" -u "EXCLUDED" -l "Featured,Type-Archive,OpSys-OSX" "$BUILD_FOLDER/Uber Sweep (64 bit).zip" | echo
fi
为什么会这样?
感谢您的帮助,
jrtc27
答案 0 :(得分:1)
echo
不接受来自stdin的任何内容,所以它除了输出一个空行外什么都不做。脚本的输出应该出现而不必对它做任何事情。
尝试指定python
的完整路径。脚本的PATH
可能与交互式shell的不同。
您应该可以引用Python脚本的名称,并避免空间的尴尬转义。