Tag: 脚本

为什么你需要把#!/ bin / bash放在脚本文件的开头?

我以前做过Bash脚本,一开始没有这个,它们都运行良好。 有什么意思呢? 会有什么不同? 另外,你如何发音# ? 我知道! 发音为“bang”。 #!怎么样#! 发音?

如何通过双击在OS X中运行一个shell脚本?

我有一个在OS X上有用户执行权限的shell脚本,但是当我双击它时,它会在文本编辑器中打开。 我怎样才能通过双击运行它?

停止scripters每秒钟砰的一次您的网站数百次

[更新]我已经接受了答案,因为lc因为经过深思熟虑的答案而值得赏金,但不幸的是,我相信我们陷入了我们最原始的最坏的情况: CAPTCHA大家在购买废话的尝试 。 简单的解释:caching/networking农场使我们无法实际跟踪命中,任何解决方法(发送非caching的Web信标,写入统一的表格等)都会使网站的速度比机器人的速度慢。 思科等硬件可能有一些昂贵的硬件,可以帮助高层次,但如果CAPTCHAING每个人都是另一种select,则很难certificate成本合理。 我将在后面尝试做一个更全面的解释,以及为未来的search者进行清理(尽pipe其他人欢迎尝试,因为它是社区wiki)。 我已经给这个问题增加了奖励,并试图解释为什么现在的答案不符合我们的需要。 首先,感谢大家对此的思考,让这个集体智慧帮助解决看似不可能的问题,真是太神奇了。 我会比以前更清楚一点:这是关于woot.com上的包装袋的销售情况。 我是Woot Workshop的子公司Woot Workshop的总裁,Woot的子公司是做devise的,写产品说明,播客,博客post,并且讨论论坛。 我在css / html世界工作,对开发者世界的其他部分只有很less的了解。 我和开发人员密切合作,并在这里讨论了所有的答案(以及其他许多想法)。 网站的可用性是我工作的重要组成部分,使网站令人兴奋和有趣的是其余的大部分。 这就是以下三个目标的来源。 CAPTCHA危害可用性,机器人窃取我们废物销售的乐趣和兴奋。 为了设置这个场景,僵尸工具正在为我们的Random Crap销售第二个屏幕抓取(和/或扫描我们的rss)数十次。 当他们看到这一点时,它触发了login程序的第二阶段,点击我想要的一个,填写表格,并购买垃圾。 在当前(2/6/2009)的投票顺序中: lc :在使用此方法的stackoverflow和其他站点上,他们几乎总是处理已validation(已login)的用户,因为正在尝试的任务需要这样做。 在Woot上,匿名(未logging)的用户可以查看我们的主页。 换句话说,砰击机器人可以是非authentication的(除IP地址以外基本上不可追踪)。 所以我们回到扫描IP地址,这在a)在这个云计算networking僵尸和spambot僵尸的时代是相当无用的,b)由于来自一个IP地址的企业数量太多而无法获得无辜者(更不用提非静态的IP ISP和潜在的性能命中试图跟踪这一点)。 哦,有人打电话给我们将是最糟糕的情况。 我们可以让他们打电话给你吗? BradC Ned Batchelder的方法看起来很酷,但他们的devise非常稳固,可以击败为网站build立的机器人。 我们的问题是机器人是专门打败我们的网站。 这些方法中的一些可能会工作很短的时间,直到脚本发展到他们的机器人忽略蜜jar,屏幕附近的标签名称,而不是formsids,并使用JavaScript的浏览器控制。 lc再次 “除非,炒作是你的营销计划的一部分。” 是的,它绝对是。 当物品出现的时候,以及如果你设法得到一个令人兴奋的惊喜,可能与你最终得到的废话一样多或者更重要。 任何消除先到先得的方法都不利于“赢得”废话的兴奋。 novatrust而我,一个,欢迎我们新的机器人霸主。 实际上,我们提供rss提要,以允许第三方应用程序扫描我们的网站的产品信息,但不提前主网站的HTML。 如果我正确地解释,你的解决scheme通过完全牺牲目标1来确实有助于目标2(性能问题),而只是放弃了机器人将会购买大部分垃圾的事实。 我赞成你的回答,因为你的最后一段悲观主义对我来说是准确的。 这里似乎没有银弹。 其余的回复通常依赖于IP跟踪,而这又似乎对僵尸networking/僵尸/云计算networking没有任何用处,也不利于(来自同一IP目的地的许多无辜者)。 任何其他方法/想法? 我的开发人员总是说“让我们做CAPTCHA”,但我仍然希望有一些不那么干扰的方法,让所有真正的人想要我们的废话。 END UPDATE,以下是原来的问题: 假设你正在销售价值很高的便宜的东西,而且你的数量非常有限。 没有人知道你什么时候可以卖这个物品。 超过一百万人经常来看你卖的东西。 你最终会用脚本,机器人和黑客试图通过编程的方式找出你销售物品的时间,并确保他们是第一个购买它的人。 […]

最好的语言来parsing极大的Excel 2007文件

我的老板习惯于对我们的数据库执行查询,返回数以万计的行并将其保存到excel文件中。 作为实习生,我不得不编写处理这些文件信息的脚本。 到目前为止,我已经尝试VBScript和Powershell为我的脚本需求。 这两者都可能需要几分钟的时间来执行即使是最简单的任务,这将意味着脚本完成后将需要大约8小时的一天。 我现在的解决方法是编写一个PowerShell脚本,它从xlsx文件中删除所有的逗号和换行符,将.xlsx文件保存为.csv,然后让一个Java程序处理数据收集和输出,脚本完成后清理.csv文件。 这对于我目前的项目来说只需几秒钟,但是我不禁要问,下一个项目是否还有一个更优雅的select。 有什么build议么?

Bash脚本 – 在variables中存储stderr

我正在编写一个脚本来备份数据库。 我有以下行: mysqldump –user=$dbuser –password=$dbpswd \ –host=$host $mysqldb | gzip > $filename 我想把stderr分配给一个variables,这样它会发送一封邮件给我自己,让我知道发生了什么事情,如果出现问题。 我已经find解决schemeredirect标准输出到标准输出,但我不能这样做,标准输出已经被发送(通过gzip)到一个文件。 我怎样才能单独存储stderr在一个variables$结果?

Windows上是否有replace猫的方法?

我需要在Windows上join两个带有*.bat脚本的二进制文件。 我怎样才能做到这一点?

使用find和sedrecursion重命名文件

我想通过一堆目录,并重命名以_test.rb结尾的所有文件,而不是以_spec.rb结尾。 这是我从来没有想过如何处理bash,所以这次我想我会付出一些努力来钉牢。 尽pipe我到目前为止已经尽力了,但我的最大努力是: find spec -name "*_test.rb" -exec echo mv {} `echo {} | sed s/test/spec/` \; 注意:在exec之后还有一个额外的回声,这样当我testing它时,命令就会被打印出来而不是运行。 当我运行它时,每个匹配的文件名的输出是: mv original original 即sed的replace已经丢失。 有什么窍门?

通过Ruby避免AppleScript:rb-appscript或rubyosa?

你好同胞的Mac ruby​​ists和AppleScript的仇敌, 对于那些对rubyosa和rb-appscript有经验的人,我想听听每个人的优缺点,你决定坚持哪一个,哪一个你会推荐一个完全不是AppleScript的人ruby老前辈。 还有,我还有其他的select吗? 另外,任何处理AppleScript方面的提示(例如浏览字典等)也是受欢迎的。 看到一些示例代码也有很大帮助。

Scala中的“eval”

Scala可以用来编写Java应用程序吗? 我需要从Java中加载一段Scala代码,为它设置一个执行范围(由主机应用程序公开的数据),评估它并从中检索一个结果对象。 Scala文档展示了从Java调用编译的Scala代码是多么容易(因为它变成了常规的JVM字节码)。 但是,我怎样才能评估一个Scalaexpression式(从Java或者Scala中更简单)? 对于其他许多语言,还有javax.scripting接口。 Scala似乎不支持它,而且在Java / Scala互操作性文档中找不到任何依赖于提前编译的东西。

从网站上的PHP脚本运行Java类文件

我有一个网站,并希望能够允许用户在网站上运行服务器上的Java文件。 我希望用户点击一个button,它将在服务器上运行Java文件,而Java程序打印到标准的任何内容都将打印在网站上供用户查看。 如何做到这一点(从PHP调用Java程序,并将标准从Java文件实时返回到PHP网站)? 更新: 感谢有关如何从PHP运行Java程序的答案。 不过,我也希望能够,因为Java程序正在打印到标准输出,它将在执行时打印出大量的文本,以便能够在网页上打印出来,以便用户可以看到什么阶段Java程序正在执行中。 如何做到这一点,它需要任何额外的AJAX或JavaScript或类似的东西?