Hi!
Is there something like PHP’s escapeshellcmd() function which removes
special signs for system calls? Or do I have to do it myself and escape
|;>"? What else?
Thanks a lot,
hawe
Hi!
Is there something like PHP’s escapeshellcmd() function which removes
special signs for system calls? Or do I have to do it myself and escape
|;>"? What else?
Thanks a lot,
hawe
On Apr 11, 2007, at 7:20 AM, hawe wrote:
Is there something like PHP’s escapeshellcmd() function which removes
special signs for system calls? Or do I have to do it myself and
escape
|;>"? What else?
I’m not aware of anything, but TextMate uses to following code for
shell escaping:
“word” (string)
def e_sh(str)
str.to_s.gsub(/(?=[^a-zA-Z0-9_./-\x7F-\xFF\n])/, ‘\’).gsub(/\n/,
“’\n’”).sub(/^$/, “’’”)
end
Not sure how portable that is, but hopefully it will get you started.
James Edward G. II
On Wed, Apr 11, 2007 at 09:20:05PM +0900, hawe wrote:
Is there something like PHP’s escapeshellcmd() function which removes
special signs for system calls? Or do I have to do it myself and escape
|;>"? What else?
You can use system("/usr/bin/foo",“bar”,“baz”). This runs command
“/usr/bin/foo” and passes it arguments “bar” and “baz”, without going
through a shell at all - so shell escaping isn’t required.
irb(main):002:0> system("/bin/echo",“hello”,“2>/dev/null”,“world”)
hello 2>/dev/null world
=> true
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs