首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby Backticks -将命令分成多行?

Ruby Backticks -将命令分成多行?
EN

Stack Overflow用户
提问于 2012-04-04 01:41:27
回答 4查看 10.8K关注 0票数 20

在Ruby中,我知道我可以执行一个带有反号的shell命令,如下所示:

代码语言:javascript
复制
`ls -l | grep drw-`

但是,我正在编写一个脚本,该脚本需要一些相当长的shell命令,为了可读性,我希望能够将其分成多行。我假设我不能像Strings一样抛出一个加号,但我很好奇是否有其他方式的命令连接技术将一个长命令字符串干净地分解为多行源代码。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-04-04 01:44:40

您可以使用插值:

代码语言:javascript
复制
`#{"ls -l" +
   "| grep drw-"}`

或者将命令放入一个变量中,然后对该变量进行插值:

代码语言:javascript
复制
cmd = "ls -l" +
      "| grep drw-"
`#{cmd}`

根据您的需要,您也可以使用systemdifferent method of running the shell command,但请注意,它的行为与反引号并不完全相同。

票数 14
EN

Stack Overflow用户

发布于 2012-04-04 02:05:19

您可以使用\转义回车符

代码语言:javascript
复制
`ls -l \
 | grep drw-`
票数 52
EN

Stack Overflow用户

发布于 2014-07-30 03:35:29

使用%x

代码语言:javascript
复制
%x( ls -l |
    grep drw- )

另一个:

代码语言:javascript
复制
%x(
  echo a
  echo b
  echo c
)
# => "a\nb\nc\n"
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9998518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档