在Ruby中,我知道我可以执行一个带有反号的shell命令,如下所示:
`ls -l | grep drw-`但是,我正在编写一个脚本,该脚本需要一些相当长的shell命令,为了可读性,我希望能够将其分成多行。我假设我不能像Strings一样抛出一个加号,但我很好奇是否有其他方式的命令连接技术将一个长命令字符串干净地分解为多行源代码。
发布于 2012-04-04 01:44:40
您可以使用插值:
`#{"ls -l" +
"| grep drw-"}`或者将命令放入一个变量中,然后对该变量进行插值:
cmd = "ls -l" +
"| grep drw-"
`#{cmd}`根据您的需要,您也可以使用system等different method of running the shell command,但请注意,它的行为与反引号并不完全相同。
发布于 2012-04-04 02:05:19
您可以使用\转义回车符
`ls -l \
| grep drw-`发布于 2014-07-30 03:35:29
使用%x
%x( ls -l |
grep drw- )另一个:
%x(
echo a
echo b
echo c
)
# => "a\nb\nc\n"https://stackoverflow.com/questions/9998518
复制相似问题