0

我完成了一个家庭作业的短文件,它使用 IO.popen("command").readlines 来获取该命令的 STDOUT。但是,我需要编写一个 shell 脚本来包装我的 ruby​​ 文件。没问题,但是以某种方式将它放在 shell 脚本中会使 readlines 挂起。

ruby script.rb foo example > example.out

这行得通

script.sh foo example >example.out

这挂在readlines上。ruby script.rb是 script.sh 包含的所有内容。

4

1 回答 1

1

看起来您忘记将参数传递给 ruby​​ 命令。您也可能没有指定解释器

脚本.sh

#!/bin/sh
ruby script.rb "$@"

或者,您可以只添加#!/usr/bin/ruby到 script.rb 的顶部并使其可执行(chmod +x script.rb)。它不是一个 shell 脚本。但它通常是以解释性语言执行脚本的首选方式。

完成后,您可以运行它

./script.rb

于 2009-10-14T06:53:56.197 回答