从Shell文件启动时,Python脚本无法运行,但从终端启动时工作

时间:2010-09-18 13:56:06

标签: python macos shell terminal google-code

如果我从终端启动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

1 个答案:

答案 0 :(得分:1)

echo不接受来自stdin的任何内容,所以它除了输出一个空行外什么都不做。脚本的输出应该出现而不必对它做任何事情。

尝试指定python的完整路径。脚本的PATH可能与交互式shell的不同。

您应该可以引用Python脚本的名称,并避免空间的尴尬转义。