Ruby on rails Ruby从Ruby文件读取特定的bash脚本文件

Ruby on rails Ruby从Ruby文件读取特定的bash脚本文件,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.2,ruby-on-rails-3.1,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.2,Ruby On Rails 3.1,我创建了一个名为(wandarar.sh,用bash编写)的文件。wanda.sh文件包含命令。我想从另一个文件(practice.rb)运行wandarar.sh文件。 我想在practice.rb文件中包含与wandarar.sh文件相同的功能。我如何运行此程序。有人能帮我吗?基本上,您将获得一个数组,请选择一条与您的条件匹配的行 #practice.rb $TENANT=gets.chomp('/\p{Alnum}/') $first = $TENANT.slice(0,1).capita

我创建了一个名为(wandarar.sh,用bash编写)的文件。wanda.sh文件包含命令。我想从另一个文件(practice.rb)运行wandarar.sh文件。

我想在practice.rb文件中包含与wandarar.sh文件相同的功能。我如何运行此程序。有人能帮我吗?

基本上,您将获得一个数组,请选择一条与您的条件匹配的行

#practice.rb
$TENANT=gets.chomp('/\p{Alnum}/')
$first = $TENANT.slice(0,1).capitalize
$second = $TENANT.slice(1..-1)
EXPORT_PASSWORD="Export-"+ $first + $second.chomp + "!"
EXPORT_FILENAME=$TENANT.chomp + ".xar"
file = File.open("/Users/..../input/exporttenant.rb", "r")
contents = file.read
puts content
output = File.open(/.../input/$TENANT.txt, "w")
$TENANT=tenant_name
file = File.open("/data/workday/wmu/input/exportTenant.properties", "r")
$line = file.readlines.select{|line| line.match('DS_ENTRY_OMS_SERVER')}
file.close
output=File.open("/data/workday/wmu/input/#{$TENANT}".chomp, 'w')
output.puts "TENANT_NAME=#{$TENANT}"
output.puts "EXPORT_PASSWORD=#{$PASSWORD}"
output.puts "EXPORT_FILENAME=#{FILENAME}"
output.puts "EXPORT_WITHOUT_TAR=N"
output.puts "BYPASS_BLOB=N"
output.puts $line
output.close
print "Export tenant created for the #{$TENANT}\n"

我想你想要的是方法,试试这个:

file = File.open('/home/username/Documents/file.txt', 'r')

   puts file.readlines.select{|line| line.match('DS_ENTRY')}

file.close

你说你想要,但是你尝试了什么,你被困在哪里?对任何试图帮助您的人来说都是至关重要的信息。我可以打开文件exporttenant.rb,但从该文件中我需要DS_ENTRY_OMS_服务器的信息,但我无法获取该信息,因为它正在打印所有文本行。DS_ENTRY_OMS_SERVER=open(“/../Desktop/input/exporttenant.rb”).getsI希望在该目录中创建变量名为$TENANT的文件,但无法创建它output=file.open(/…/input/$TENANT.txt,“w”),当执行的输出为:practice.rb:15:语法错误,意外的tGVAR,预期的是“')”output=file.new时(/input/$TENANT.txt,“r“^syntax error,unexpected'),应为::或“[”或“.”16:syntax error,unexpected tGVAR,应为“')输出=文件。打开(/input/$TENANT.txt,“w”)^你在这里混合和匹配各种奇怪的命名方案,但似乎没有意识到你不能在Ruby中这样做。你修饰变量的方式实际上是有意义的,你不应该使用
$first
,除非你真的想创建一个全局变量,而且你不应该使用e> EXPORT_PASSWORD除非您真的想创建一个常量。您好,我已经创建了一个变量,它工作正常。我正在寻找打开和写入的文件。我想创建一个临时文件,变量名为$TENANT。例如,如果我给租户名为“Device123ASK”。临时文件应该由/…../devi123ask.txt/output=file.open(“/…/$TENANT.txt”,“w”)创建。我可以看到该文件是由$TENANT.txt(ls-ltr)创建的,但它应该由给定的$TENANT变量名创建。有人能帮我吗?谢谢
file_name = "put your file name here"
lines = File.readlines(file_name)
lines.grep(/DS_ENTRY\((.*)\)/)

File.open($1, "w") { |f| f.puts "file content" }