shell脚本的行为与Automator不同

时间:2013-03-26 05:13:31

标签: shell html-parsing beautifulsoup automator

我有几个脚本来清理一些生成的HTML;使用BeautifulSoup的python脚本和Ruby脚本。这些删除不需要的标签和属性,将符号转换为html编码,摆脱过多的换行符,并确保文件以有效的UTF-8编码。

我可以从命令行运行这两个脚本,它们按预期工作;我可以从命令行在这个shell脚本中运行它们:

#!/bin/bash
HTMLPath=$1

echo $HTMLPath 2>&1 >> /Users/me/Desktop/log.txt
/usr/bin/python /Users/me/DevProj/script/cleanHTML.py "$HTMLPath" 2>&1 >> /Users/me/DevProj/logs/log.txt
/Users/me/.rvm/rubies/ruby-1.9.3-p374/bin/ruby /Users/me/DevProj/script/cleanupHtml.rb "$HTMLPath" 2>&1 >> /Users/me/DevProj/logs/log.txt

这也给出了预期的结果。

但是当我从Automator运行它们时,它会向它们提供要处理的html文件列表,python脚本会从文件中删除html编码−(负号为-的HTML编码)和我最终得到了白色空间。问题是,我需要保留那些减号,最好是−,我需要它从Automator运行。

我认为它可能与Automator shell使用的python版本有关,所以我创建了shell脚本以确保它使用我在命令行/ bin / bash上使用的相同bash shell。

还有其他人遇到过这个问题吗?我是不是从Automator做错了什么?

在脚本中我添加了python --version >> log.txt但它不会将python版本输出到日志中...我有一种潜在的怀疑,即Automator正在使用它自己的旧python库。

注意:当输入文件中有−个字符串时,我才遇到此问题。否则它从Automator运行良好。 Automator导致了这个问题。

0 个答案:

没有答案