微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如果我从终端启动Google Code上传 Python脚本,它会按预期工作,但是当我使用Bourne Shell脚本文件中的以下代码启动它时,它会失败,并显示错误文件对象析构函数中的关闭失败:sys中出错”. excepthook:原来的例外是:“.

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

解决方法

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐