使用Ruby的内联注释进行系统调用

时间:2012-04-19 08:20:08

标签: ruby bash system exec

我想运行一个带内联注释的命令,如

sleep 1 # first sync call
sleep 1 # second sync call
# etc

但是我无法将它传递给Ruby中的exec

fork{  exec "sleep 1 # first async call" }
fork{  exec "sleep 1 # second async call" }

它跟踪警告。

那么我怎么能用exec将一些评论传递给系统调用。

我需要它来记录

PS:作为变体:fork{ exec "sh -c 'sleep 1' # first async" }

1 个答案:

答案 0 :(得分:2)

当您使用command ...command ...时,第一个单词后的所有内容都将用作命令的参数,因此您的注释不会被解释为注释。

无论如何,您的日志记录无法捕获此内容,因为它只是一个评论 - 相反,在调用exec "command ..."之前,您可能只想puts一些内容。