文件作为参数shell-Ruby



我想将一个文件作为参数传递给给定的Ruby脚本。这个文件只包含一个数字(ID(。

运行Ruby脚本的命令看起来像:

test export 123456 -o ./path/to/export -x

数字123456代表我想通过GitLab的txt/dat文件传递的参数。

我试过了:

test export "$(< /home/file.dat)" -o ./path/to/export -x

还有:

test export "`cat file.dat`" -o ./path/to/export -x

但我总是得到同样的错误:

cat: file.dat: No such file or directory

非常有趣的一点是,如果我在另一个命令之前运行cat,那么文件的内容就在那里(这样就可以找到文件(。如果我运行它";嵌套的";在Ruby命令中,将找不到它。

有什么想法我该怎么解决吗?

非常感谢

我不确定这是否是您想要的,但您可以通过命令行传递文件名,并在ruby脚本中读取文件的内容:

id = nil
# ARGV holds all the parameters passed to the script
File.readlines(ARGV[0]).each do |line|
id = line # id here will be set to the value contained in the file you passed a parameter
end

相关内容

  • 没有找到相关文章

最新更新