使用文本 IO 双击可执行文件制作 ruby​​ 脚本?

2023-12-04

我是 Ruby 的初学者,我不知道该怎么做......

现在我有了脚本,它在终端中完美运行,但我希望能够在桌面上创建它的双击版本,然后在终端中打开一个窗口并运行脚本。 Automator 和 Platypus 不起作用。我不知道该怎么办。先感谢您。


假设您的目标是 Mac OS X (Unix) 或 Linux,您可以将此行放在 Ruby 文件的顶部,以使其与终端兼容:

#!/bin/ruby

基本上,这告诉 shell(终端)使用您之后编写的任何可执行文件来运行文件的内容#!。在这种情况下,您指示它使用ruby您用来在其他地方运行代码的可执行文件。

要允许执行 Ruby 脚本,您需要通过运行以下命令使其可执行:

chmod a+x my_script.rb 

最后,要获得双击支持,您可能必须替换.rb扩展与.sh因此操作系统将其识别为 shell 脚本而不是 Ruby 文件。

您也可以考虑某种 GUI。Shoes是创建漂亮用户界面的好方法,而且非常易于使用。如果我没记错的话,它还允许您生成 Windows、OS X 和 Linux 的可执行文件。

下面是一个示例,它创建了一个基本的、可点击的按钮:

Shoes.app do
  @button = button "Click Me"

  @button.click do
    puts "Clicked!"
  end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用文本 IO 双击可执行文件制作 ruby​​ 脚本? 的相关文章

  • 使用 rbenv 在 MacOS 上安装 Ruby 2.6.0 失败

    我在 Mojave 上有一台 Mac 它无法安装开发所需的一些基本内容 rbenv install 2 6 0 Downloading openssl 1 1 1d tar gz gt https dqw8nmjcqpjn7 cloudfr
  • 尝试使用适用于 Windows XP 的 Heroku 时未找到 msvcrt-ruby18.dll

    我有一个学生在 Windows XP 上进行开发 他在尝试运行时遇到了一个奇怪的错误heroku keys add 错误是 This application has failed to start because msvcrt ruby18
  • 如何在 .js 中的字符串中插入来自 ruby​​ 示例的变量[重复]

    这个问题在这里已经有答案了 在 ruby 中 您可以将变量插入到字符串中 如下所示 x sake puts I like x I like sake 例如 def what i like word I like word end 在 jav
  • 如何在 Xamarin.Mac 中执行终端命令并读入其输出

    我们正在编写一个 Xamarin Mac 应用程序 我们需要执行像 uptime 这样的命令 并将其输出读取到应用程序中进行解析 这可以做到吗 在 Swift 和 Objective C 中都有 NTask 但我似乎无法在 C 中找到任何示
  • 如何覆盖 Ruby Ranges 的 .. 和 ... 运算符以接受 Float::INFINITY?

    我想覆盖 and Ruby 中的运算符Range 原因是 我正在处理数据库中的无限日期范围 如果你拉一个infinty从 Postgres 中取出日期时间 你会得到一个Float INFINITY在红宝石中 问题是 我无法使用Float I
  • 获取块参数个数

    我需要获取给定块所采用的参数数量 例如 foobar 1 2 3 a b c def foobar x y z block need to obtain number of arguments in block which would be
  • 从 TypeScript 运行任何 Linux 终端命令?

    有没有办法直接从 TypeScript 类中执行 Linux 终端命令 这个想法是做类似的事情 let myTerminal new LinuxTerminal let terminalResult myTerminal run sudo
  • 红宝石边缘情况

    ruby 有一些边缘情况很难解释 因为解析会带来一些有趣的问题 我在这里列出其中两个 如果您知道更多 请添加到列表中 def foo 5 end this one works if tmp foo puts tmp to s end How
  • “没有可用的二元红宝石”是什么意思?

    每当我使用rvm install x x x 即使安装成功 我也会收到此警告 No binary rubies available for osx 10 12 x86 64 ruby 2 4 0 Continuing with compil
  • 捆绑安装无法从 https://rubygems.org/ 获取规格

    我正在尝试遵循 Hartl Rails 教程 但在使用捆绑器 gem 时遇到了问题 使用命令 bundle install 或 bundle update 时 我得到以下输出 从中获取源索引https rubygems org https
  • 可以覆盖/实现的 ruby​​ 运算符列表

    是否有可以覆盖的所有 ruby 运算符的列表 不是那些不能的 Here s Ruby 运算符表 http phrogz net programmingruby language html table 18 4 方法和可重载的有 Elemen
  • 如何在 Mac 上设置默认 shell,例如钓鱼? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我不喜欢重新输入fish每次我启动终端时 我想Fish https en wikipedia org wiki Fish Unix she
  • 如何在 Visual Studio Code 中从集成终端引用当前文件

    我想知道是否可以 使用内置变量 直接使用集成终端在 Visual Studio 中打开的当前文件 例如 gt some command current file Where current file would be a built in
  • 如何将环境变量 PACKAGE_DIRS 链接到我的本地私有包?

    我正在尝试设置一个环境变量 以便当我正在处理 Meteor 应用程序时 并且我想将本地私有包链接到我的项目 Meteor 将查找我在本地环境中创建的包目录 我做的第一件事是创建一个包目录并向其中添加一个基本的测试包 Users scotty
  • xsel -o 对于 OS X 等效项

    是否有一个等效的解决方案可以在 OS X 中抓取选定的文本 就像适用于 Linux 的 xsel o 一样 只需要当前的选择 这样我就可以在 shell 脚本中使用文本 干杯 埃里克 你也许可以安装xsel在 MacOS 上 更新 根据 A
  • 如何从 Ruby 程序发送邮件?

    我想从 Ruby 应用程序发送电子邮件 核心语言中是否有调用来执行此操作 或者是否有我应该使用的库 最好的方法是什么 如果你不想使用行动邮递员 http wiki rubyonrails org rails pages ActionMail
  • VS Code 即使关闭也使用 100% CPU

    即使未打开 VS Code 也会占用 100 的 CPU 使用率 我跑了ps aux grep PID命令查看详细信息但什么也看不懂 这是输出 tawhid 27099 100 0 0 1 447352160 11856 R 7 18PM
  • Rails 控制台无法运行

    rbenv 红宝石版本 2 6 6 导轨版本 5 1 4 我正在较旧的代码库中工作 ruby 2 6 6 rails 5 4 1 这是我每天使用的代码库 我必须通过 rbenv 下载一个新的 ruby 版本作为单独的存储库 这样做在我的旧代
  • Heroku 部署错误

    在 Windows 环境中 尝试部署到 Heroku 时出现以下错误 C Ruby lib ruby gems 1 8 gems heroku 1 9 13 lib heroku commands base rb 32 in 没有这样的文件
  • Rails - 渲染:目标锚标记的操作?

    我希望像这样使用渲染 render action gt page form 我也尝试过这个 render template gt site page form 那也没用 这个特定页面上的表单位于最底部 如果提交时发生任何错误 我不希望用户被

随机推荐

  • 从 asp.net 中的 gridview 获取选中的行

    我有一个GridView在 ASP net 中我有一个CheckBox柱子 用户可以切换CheckBox 现在 我想要的是 当用户单击按钮时 来自GridView哪里的CheckBox被选中应该显示 在另一个按钮上 应该显示相反的状态 我不
  • ios iPhone模拟器是否导致内存使用分析膨胀?

    我正在尝试在我的应用程序中处理一个大文本文件 我知道我要小心读取数据时消耗的内存量 一旦读取了一条数据 应用程序就不需要保留该数据 感谢 Martin R 和这篇文章逐行读取文件 URL帮助我开始努力 我正在尝试监视我的应用程序在读取大数据
  • 图像显示时改变形状

    我正在尝试显示此图像 因为我的目录中有此图像 但我用这段代码显示它 Mat img imread D vig png imshow image img waitKey imwrite D img jpg img 同一张图片显示如下 它出什么
  • Java VM 如何决定 user.dir 系统属性的值?

    我正在运行一个简单的 Java 程序 其目录结构如下 MyProject A project in my Eclipse IDE src Hello java 在 Hello java 中 我正在打印 user dir 系统属性的值 Sys
  • ASP.Net Core 生成了太多 cookie,我的应用程序无法处理

    我有一个测试应用程序 用于测试与 WSO2 Identity Server IDP 的集成 当它单独运行时 它工作得很好 它使 AspNetCore Antiforgery饼干和一个 AspNetCore Cookies曲奇饼 防伪 coo
  • 如何使用 C# 向 Sql Server 2005 数据库插入和读取 pdf 文件

    如何将pdf文件插入sql server 2005并从sql server读取pdf文件 如果您有兴趣使用数据库进行文件存储 请查看这篇来自 4guysfromrolla 的文章 它是面向网络的 但找到您需要的内容应该没有问题
  • 如何在bash脚本中读取csv文件到数组

    我编写了以下代码 将我的 csv 文件 具有固定的列数 但没有固定的行数 作为数组读入我的脚本中 我需要它是一个 shell 脚本 usernames x1 x2 x3 x4 username1 5 5 4 2 username2 6 3
  • 确定列表是否具有相等的连续元素

    我试图确定一个大列表是否具有相同的连续元素 那么我们说 lst 1 2 3 4 5 5 6 在这种情况下 我会返回 true 因为有两个连续的元素lst 4 and lst 5 是相同的值 我知道这可能可以通过某种循环组合来完成 但我想知道
  • 反转链表 C++ [重复]

    这个问题在这里已经有答案了 可能的重复 无法反转链表 我正在尝试反转链接列表 void LinkedList reverseList Node next head Node prev 0 while next 0 Node tmp next
  • Android使用ArrayList向多个联系人发送短信

    我正在编写一个向多个联系人发送短信的应用程序 联系人号码存储在ArrayList 从另一项活动收到 我无法使用这个ArrayList将多个联系人传递到内置 SMS Android 应用程序 这是代码 ArrayList
  • 如何在不触发文本观察器的情况下更改 EditText 文本?

    我有一个EditText其上带有客户文本观察器的字段 在一段代码中 我需要更改我使用的 EditText 中的值 setText whatever 问题是一旦我做出改变afterTextChanged方法被调用 这创建了一个无限循环 如何更
  • PHP 会话在页面之间丢失数据

    我正在尝试为我的网站设置一个登录系统 需要有人登录才能发帖 我已经用会话设置了它 它在我的本地主机上运行得很好 但在服务器上却不起作用 我在某些页面上设置了 print r session 以查看数据丢失的位置 在 checklogin p
  • Haskell Servant 从处理程序获取当前路由/URL

    我想获取与我的处理程序相对应的当前路线 这是我的服务器的模型 仅供参考 type ServerAPI route01 gt Get HTML Text lt gt route02 gt subroute gt Get HTML Text l
  • 以角度形式保留 http 调用的顺序

    我正在尝试使用我在此处找到的几种方法来解决我面临的订单问题SO没有成功 我有一个方法 我正在为数组加载一些数据leaflet layers private loadSelectedTileLayersCapabilities void le
  • 在示例 Android 应用程序中使用解析 SDK 库时出现错误

    在这里 我正在使用名为 3rd party sdk 的东西做一些事情parse sdk它为Android平台提供了一些API 我经历过这个link并尝试为此解析 sdk 做一些示例工作 但是在完成该链接上提到的所有步骤之后 我无法运行此测试
  • 克隆对象不可删除

    我正在尝试使用 Jquery 克隆可删除对象 但克隆的对象不可删除 document ready function input value Add click function e e preventDefault div field la
  • 按顺序在数组中查找数组

    如何编码 find array in array 功能 伪代码 Haystack array 0 a 1 b 2 a 3 b 4 c 5 c 6 a 7 b 8 d 9 c 10 a 11 b 12 a 13 b 14 c Needle a
  • SCOPE_IDENTITY 似乎不适用于参数化查询

    我有一个带有标识列的表 我想在插入后获取其值 以下代码不使用参数 运行良好 string query INSERT INTO aTable aColumn VALUES 42 SqlCommand command new SqlComman
  • 使用 WordPress 配置 apple-app-site-association 文件

    我正在尝试实现 iOS 通用链接 我需要在 WordPress 的根目录中提供一个 apple app association 文件 我如何为我的 apple app association 文件提供服务Content type appli
  • 使用文本 IO 双击可执行文件制作 ruby​​ 脚本?

    我是 Ruby 的初学者 我不知道该怎么做 现在我有了脚本 它在终端中完美运行 但我希望能够在桌面上创建它的双击版本 然后在终端中打开一个窗口并运行脚本 Automator 和 Platypus 不起作用 我不知道该怎么办 先感谢您 假设您