ruby ausführen von bash-Befehl mit Variablen
Brauche ich zum ausführen eines Bash-Befehls in einem Ruby-Skript. Es gibt über 6 Möglichkeiten, dies zu tun nach "6 Wege zum Ausführen von Shell-Kommandos in Ruby" von Nate Murray und ein paar andere gegoogelt Quellen.
print "enter myid: "
myID = gets
myID = myID.downcase
myID = myID.chomp
print "enter host: "
host = gets
host = host.downcase
host = host.chomp
print "winexe to host: ",host,"\n"
command = "winexe -U domain\\\\",ID," //",host," \"cmd\""
exec command
- Welche Klasse erwarten Sie
command
zu werden?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für was es Wert ist kann man eigentlich die Kette, diese Methoden, und
puts
drucken wird eine neue Zeile für Sie, so könnte dies nur sein:command = "winexe -U dmn1\\\\" + myId + " //" + host + ' "cmd"'
oder verwenden Sie Ruby ' s von printf ()-like syntax:command = 'winexe -U dmn1\\\\%s //%s "cmd"' % [myId, host]
command = %Q{winexe -U dmn1\\\\#{myID} //#{host} "cmd"}
. Hier einige weitere Infos: en.wikibooks.org/wiki/Ruby_Programming/Alternate_quotesWie es aussieht, kann es eventuell zu Schwierigkeiten mit, wie Sie wurden putting Ihre Kommando-string zusammen.
Ich hatte auch zu finden STDIN direkt.
Kompakte version:
Letzten beiden Zeilen mit printf-Stil:
Letzten beiden Zeilen mit plus string-Verkettung:
Letzten beiden Zeilen, die mit C++ - Stil Anhängen: