ruby中的命令行参数

许多Ruby脚本没有文本或图形界面。他们只是跑,做他们的工作,然后退出。要与这些脚本通信以更改其行为,必须使用命令行参数。...

许多Ruby脚本没有文本或图形界面。他们只是跑,做他们的工作,然后退出。要与这些脚本通信以更改其行为,必须使用命令行参数。

Male fashion designer working in an office

命令行是UNIX命令的标准操作模式,由于Ruby在UNIX和类UNIX系统(如Linux和macOS)上广泛使用,因此遇到这种类型的程序是非常标准的。

如何提供命令行参数

Ruby脚本参数由shell传递给Ruby程序,shell程序在终端上接受命令(如bash)。

在命令行上,脚本名称后面的任何文本都被视为命令行参数。通过空格分隔,每个单词或字符串将作为单独的参数传递给Ruby程序。

下面的示例显示了用于从参数为test1和test2的命令行启动test.rb Ruby脚本的正确语法。

$ ./test.rb test1 test2

您可能会遇到这样一种情况:您需要将参数传递给Ruby程序,但命令中有一个空格。一开始似乎不可能,因为shell将空间上的参数分开,但是有一个规定。

双引号中的任何参数都不会被分隔。在将双引号传递给Ruby程序之前,shell会删除双引号。

以下示例将单个参数传递给test.rb Ruby脚本test1 test2:

$ ./test.rb "test1 test2"

如何使用命令行参数

在Ruby程序中,可以使用ARGV特殊变量访问shell传递的任何命令行参数。ARGV是一个数组变量,它以字符串形式保存shell传递的每个参数。

此程序迭代ARGV数组并打印其内容:

#!/usr/bin/env ruby ARGV.each do|a| puts "Argument: #{a}" end

以下是启动此脚本(另存为文件test.rb)的bash会话的摘录,其中包含各种参数:

$ ./test.rb test1 test2 "three four" Argument: test1 Argument: test2 Argument: three four

  • 发表于 2021-10-10 08:21
  • 阅读 ( 265 )
  • 分类:编程

你可能感兴趣的文章

最适合新手的ruby互动介绍

...很有趣。另外,你有几个可爱的狐狸帮你通过快捷方式和命令。当您处理代码、散列、块和方法时,当您采取错误的步骤时,模拟器将提示您。温和的指导是一个重要的反馈。 ...

  • 发布于 2021-03-13 09:52
  • 阅读 ( 215 )

可提高windows管理技能的powershell cmdlet

... 此cmdlet仅返回帮助文件中的示例。这些例子很有帮助,因为它们包括描述。此帮助文本解释了cmdlet和参数在运行时的作用。 ...

  • 发布于 2021-03-13 13:26
  • 阅读 ( 287 )

如何在linux和macos上将手册页缩短为可读的解释

... 你觉得tldr中的解释更容易理解吗?或者你更喜欢手册页上完整、详细的解释?请在下面的评论中与我们分享您的想法和经验。 ...

  • 发布于 2021-03-14 01:21
  • 阅读 ( 192 )

做一个壁挂式仪表板破折号.io和一个树莓派

...过在web应用程序中拖动控件,可以编辑它们在仪表板布局中的位置。您需要使用HTML逻辑,将列表项放在无序列表(ul)标记中。但是列表中的位置并不决定仪表板的位置,您可以稍后通过拖放小部件来调整仪表板的位置。 ...

  • 发布于 2021-03-14 19:14
  • 阅读 ( 196 )

jekyll vs.gatsbyjs:哪个静态网站构建者构建了最好的网站?

...你已经有某种编程语言的背景,你可能会发现这些建设者中的一个更容易使用。 ...

  • 发布于 2021-03-19 02:43
  • 阅读 ( 443 )

如何使用click在python中创建自己的命令行程序

...:如果在使用脚本时未指定total参数,单击将使用默认值中的值。 帮助:一个简短的句子解释如何使用你的程序。 ...

  • 发布于 2021-03-23 13:56
  • 阅读 ( 267 )

使用静态站点生成器快速构建网站

...服务器上意味着你只需要更新一次。 创作中的平**立性:如果您在各种设备上工作,那么远程SSG意味着您只需要在本地担心创作。既然你是用纯文本创作的,你几乎可以用任何你喜欢的设备。例如,您可以在Android*...

  • 发布于 2021-03-25 19:23
  • 阅读 ( 306 )

如何在bash中使用变量

...Linux him=Popeye his_boost=Spinach this_year=2019 要查看保存在变量中的值,请使用echo命令。每当引用变量名包含的值时,必须在变量名前面加上美元符号$,如下所示: echo $my_name echo $my_boost echo $this_year 让我们同时使用所有变量: echo "$...

  • 发布于 2021-04-03 02:34
  • 阅读 ( 194 )

如何在linux上使用xargs命令

...用,则会得到一列文件名。 ls -1 ./*.sh 这将列出当前目录中的shell脚本文件。 我们得到了一个预期的列。如果我们把它通过沙尔格管,我们能得到什么? ls -1 ./*.sh | xargs 输出作为一个长文本流写入终端窗口。 正是这个功能让x...

  • 发布于 2021-04-03 07:25
  • 阅读 ( 161 )

如何在windows10的ubuntubashshell中安装linux软件

...所有已安装的软件包 要将已安装的软件包更新到存储库中的最新可用版本(它为您提供当前软件包的所有可用安全更新),请运行以下命令: sudo apt-get upgrade 记住在运行这个命令之前运行“sudoaptgetupdate”命令,因为在aptget看到...

  • 发布于 2021-04-09 11:19
  • 阅读 ( 191 )
tang764797279
tang764797279

0 篇文章

相关推荐