4

如果我从终端启动 Google 代码上传 Python 脚本,它会按预期工作,但是当我使用 Bourne Shell 脚本文件中的以下代码启动它时,它会失败并显示错误“ close failed in file object destructor: Error in sys.excepthook: Original exception was:”。

#!/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

4

1 回答 1

1

echo不接受来自标准输入的任何内容,所以它除了输出一个空行之外什么都不做。脚本的输出应该会出现,而无需对其执行任何操作。

尝试指定python. 脚本的PATH可能与交互式 shell 的不同。

您应该能够引用 Python 脚本的名称并避免尴尬的空格转义。

于 2010-09-18T17:17:37.763 回答