通过打开包含内容的文本编辑器来捕获用户输入

2023-12-27

从 bash 脚本中,我想

  1. 打开当前用户的默认文本编辑器
  2. 粘贴字符串$original_content in it
  3. 一旦用户修改内容然后关闭文本编辑器,
  4. 将修改后的字符串捕获到变量中$modified_content
  5. 然后保存$modified_content to an $output_file

谷歌搜索捕获用户输入显示read这不是我要找的。

有人能指出我正确的方向吗?

谢谢


这种方法应该适用于大多数编辑器:

#!/bin/bash

original_content="Your original content"

echo $original_content > /tmp/user_input.tmp

# For example:
# DEFAULT_EDITOR=/usr/bin/vi
$DEFAULT_EDITOR /tmp/user_input.tmp

modified_content=`cat /tmp/user_input.tmp`

echo $modified_content > /tmp/output_file

该脚本可能有点冗长,但它会执行除粘贴部分之外的所有您想要的操作,因为您可能必须适应所有类型的编辑器才能正确“粘贴”字符串。该脚本利用了以下优点:使用文件名作为参数调用大多数编辑器会打开该文件进行编辑,从而“粘贴”您的文件$original_content在编辑器中。

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

通过打开包含内容的文本编辑器来捕获用户输入 的相关文章

  • 启动 OSX 时未使用 teamcity 代理运行 bash

    我有一个 shell 脚本startup sh执行以下操作 创建 RAM 磁盘并启动 teamcity 代理 bin bash DISK usr bin hdiutil attach nobrowse nomount ram 1677721
  • VSCode 集成终端不加载 .bashrc 或 .bash_profile

    我有以下文件来处理 shell 配置 bash profile if f bashrc then source bashrc fi and bashrc configure shell 如果我使用以下命令从命令行打开 VSCodecode
  • 为什么 sed 不将 \t 识别为制表符?

    sed s t 1 filename gt sedTmpFile mv sedTmpFile filename 我期待这个sed脚本插入一个tab在每一行前面 filename然而事实并非如此 由于某种原因 它正在插入一个t反而 Not a
  • 使用模式属性排除邮政信箱地址

    首先 我知道这里已经有一些关于排除邮政信箱地址的线程 但似乎大多数线程都使用 Jquery 而我在我的平台 prestashop 中复制它们的尝试对我来说并没有成功 虽然这可能是我在其他所有方法都失败时采用的解决方案 但我希望尽可能使用模式
  • 有没有办法在 MacOSX 上使用 Xcode 将 bash shell 脚本与 AppleScriptObjC 应用程序一起打包?

    我正在尝试使用 AppleScriptObjC 作为包装器来自动化三个或四个 bash shell 脚本 这将为我提供一个友好的 GUI 前端来选择数据文件等 以及方便的文本文件操作和多个 bash 脚本的处理 一切正常 我可以按下按钮并运
  • .NET 中是否存在阻塞 StreamReader、TextReader 或 StringReader?

    我想运行一个后台任务 从 TextReader 读取输入并一次处理一行 我希望后台任务阻塞 直到用户在字段中输入一些文本并单击提交按钮 是否有某种类型的 TextReader 会阻塞 直到文本可用 并允许您以某种方式向底层源添加更多文本 我
  • sed:替换文本块

    我有一堆文件 从一段代码开始 我试图用另一个代码块替换 Replace
  • 通过多个换行符分割文件

    假设您有以下输入文件 Some text It may contain line breaks Some other part of the text Yet an other part of the text 并且您想要迭代每个文本部分
  • Bash:使用参数扩展查找和替换

    我想更换输入法 find string include 圆进度 38px 30px 4eb630 和输出 输出字符串 include 圆进度 38px 30px using find string pattern replacement s
  • 为什么 bash for 循环出错?

    我正在尝试使用 for 循环运行以下代码 但出现语法错误 请帮忙 输入格式 输入的第一行包含一个整数N 表示整数的个数 下一行包含 N 个空格分隔的整数 它们构成数组 A read n sum 0 for i 1 i lt n i do r
  • 在 iOS 下不再显示取消按钮 (x)

  • 如何在shell脚本中扩展相对路径

    我正在编写一个脚本来使用 bash 在 linux 2 6 上设置环境变量 因此该脚本包含如下命令 export SRC DIR export LIBPATH SRC DIR lib 问题是 当我尝试 echo LIBPATH 时 它显示
  • Linux 上的 Netbeans 12.6。 Java 源代码编辑器行为异常

    在 Linux Mint 上运行 NetBeans 12 6 编辑 Java 源文件时 编辑器的行为不符合预期 将光标放在文本行的末尾并按回车键会导致编辑器插入新行 然后将光标放在其开头 而不是放在上一行的第一个非空白字符下 因此 我必须在
  • $@ 中 args 的 bash 参数大小写

    我有一个带有一长串可选参数的脚本 有些具有相关的值 Such as script first 2012 12 25 last 2012 12 26 copy remove script first 2012 12 25 因此有以下案例陈述
  • 如何在命令提示符中仅显示具有备用数据流的文件

    我知道要在命令提示符中显示所有文件 如果有 的备用数据流 这是命令dir R 但是 如果我只想显示具有备用数据流的文件 该怎么办 dir s r findstr e DATA or dir r findstr e DATA 第一个将在所有子
  • OS X bash:目录名

    我想创建一个简单的 bash 脚本来在 OS X 上启动 Java 程序 文件名 文件路径和直接工作文件夹都包含空格 当我这样做时 bin sh cd dirname 0 I get usage dirname path 我也尝试过在各种不
  • 如何从 tcl 脚本调用 bash 命令?

    Bash 命令可从交互式 tclsh 会话中获得 例如 在 tclsh 会话中 您可以 ls 代替 exec ls 但是 您不能有一个直接调用 bash 命令的 tcl 脚本 或者没有exec 如何使 tclsh 在解释 tcl 脚本文件时
  • 使用环境变量将参数传递给命令

    我正在尝试编写一个 bash 脚本 该脚本采用环境变量并将其传递给命令 所以如果我有类似的东西 export OUT a arg1 b arg2 0 arg2 1 我想在我的 bash 脚本中执行以下操作
  • 使用sed插入文件内容

    我试图在给定模式之前插入文件内容 这是我的代码 sed i pattern i r scriptPath adapters default permissions xml manifestFile 它添加路径而不是文件的内容 有任何想法吗
  • C++ 密码屏蔽

    我正在编写一个代码来接收密码输入 下面是我的代码 程序运行良好 但问题是除了数字和字母字符之外的其他键也被读取 例如删除 插入等 我知道如何避免它吗 特q string pw char c while c 13 Loop until Ent

随机推荐

  • 如何使用另一个数组的长度来初始化 Rust 中的数组?

    我想初始化一个数组 其长度等于另一个数组的长度 fn foo array i32 let mut sum 0 array len 它会出错 error E0080 constant evaluation error gt test rs 2
  • Pyspark:在数据帧的不同组上应用 kmeans

    使用 Pyspark 我想将 kmeans 单独应用于数据帧组 而不是立即应用于整个数据帧 目前 我使用 for 循环对每个组进行迭代 应用 kmeans 并将结果附加到另一个表 但是有很多组会很耗时 有人可以帮我吗 多谢 for cust
  • 如何使图像在图像墙内反弹?

    我面临这个问题 在动画过程中 我希望鱼图像在背景图像 池塘 中移动 并且每当它撞到墙壁或图像边界时它就会弹开 使用svg方法和javascript方法 非常感谢任何可以提供帮助的人 再次感谢您花时间阅读并帮助解决这个问题
  • 如何将临时 MySQL 表转储到文件中?

    有没有一种方法可以创建转储 导出 保存临时 MySQL 表到磁盘上的文件中 sql 文件 类似于 mysqldump 创建的文件 抱歉 我第一次没有正确阅读这个问题 无论如何 我能想到的最好的方法就是使用SELECT INTO OUTFIL
  • mongodb 从一个值获取整个文档

    我想从单个值获取 mongodb 文档的所有值 例子 id id name name description description invite invite support server server developer develop
  • 同一行有多个命令

    我一直在尝试找到一些可以让我在 Vim 中的同一行上运行多个命令的东西 类似于在 nix 系统中使用分号来分隔命令或 在Windows中 有没有办法做到这一点 A bar 将允许你这样做 从 help bar 可用于分隔命令 因此您可以在一
  • IoC 容器的使用;特别是温莎

    我认为这个问题的答案是如此明显 以至于没有人费心写这个 但已经晚了 我真的无法理解这个问题 我一直在阅读 IoC 容器 在本例中为 Windsor 但我不知道如何从代码的各个部分与容器进行通信 我得到了 DI 我已经做了穷人 DI 空构造函
  • 在 scala 中将其别名为 self =>

    一些 Scala API 别名this to self 例如 trait Function1 T1 R extends AnyRef self gt 我知道该怎样this别名通常有效 但没有看到像 Function1 这样的特征如何从中受益
  • 清理大型遗留 Java 项目

    我被指派去做一个大型Java项目的一些工作 开发人员的几次迭代的影响是显而易见的 没有标准的编码风格 格式 命名约定或类结构 当我遇到 Javadoc 类时真是美好的一天 单元测试是一个快乐的白日梦 到目前为止 我们参与该项目的人员一直在
  • if 条件在 nginxconf 中的 location 块内如何工作?

    我读过了https www nginx com resources wiki start topics 深度 ifisevil https www nginx com resources wiki start topics depth if
  • 从 HttpClient SendAsync 请求获取响应时出现无法解释的超时和延迟

    我们有一个 NET 4 7 2 它混合使用异步和同步代码 我知道这是禁忌 我们在 Windows 服务上使用 NancyFX 该服务获取休息呼叫并进行休息呼叫 线程池看起来很健康 整个进程只使用了 70 个线程 由于某种原因 某些 http
  • 警告:def 文件末尾的 .drectve 已损坏

    我在 eclipse cdt c 中使用 gcc mingw 安装了 glew glfw 和 glm 全部都是静态的 一切正常 但我不喜欢 eclipse 输出控制台中的警告 警告 def 文件末尾的 drectve 已损坏 我如何修复并隐
  • ASCII 编码 UTF-8 的有效方法

    我正在寻找一种简单有效的方法来以 ASCII 7 存储 UTF 8 字符串 我所说的高效是指 输入中的所有 ASCII 字母数字字符应与输出中的 ASCII 字母数字字符保持相同 结果字符串应尽可能短 该操作需要可逆且不会丢失任何数据 生成
  • 如何在 ASP.NET MVC 4 应用程序中使用会话?

    我是 ASP NET MVC 新手 我以前使用过 PHP 很容易创建会话并根据当前会话变量选择用户记录 我在 Internet 上到处寻找简单的分步教程 该教程可以向我展示如何在 C ASP NET MVC 4 应用程序中创建和使用会话 我
  • 将张量组织成一批动态形状的张量

    我有以下情况 我想使用 Tensorflow Serving 部署人脸检测器模型 https www tensorflow org serving https www tensorflow org serving 在 Tensorflow
  • 寻找分区问题算法返回 true 的最大值子集

    我有以下任务 您有一个包含 1 假设S有两个子集s1和s2 其中一个子集所有元素的值之和等于另一个子集所有元素值之和 且为最大可能值 我必须返回 S 的哪些元素不会包含在两个子集中的任何一个中 它可能之前已经解决了 我认为它的一些变体分区问
  • Eclipse 动态 Web 项目文件位置

    我正在 Eclipse 中创建一个新的动态 Web 项目 并且想知道文件夹分类的最佳实践是什么 这就是我认为的 文件夹 有人可以验证一下吗
  • jQuery:获取父级、父级 ID?

    ul li a href www example com link a li ul 如何使用 jQuery 获取 ul myList 的 id 单击链接时会触发我的 j 脚本事件 我努力了 this parent attr id 但它获取了
  • 有关运行 Windows Phone 8 资源密集型任务的任何提示吗?

    我一直在尝试让资源密集型任务后台代理在部署到手机后以发布模式运行几天 但从未见过它运行 有人让它在调试器之外工作吗 你等了多久才运行 我能够使用 LaunchForTest 启动并成功运行资源密集型任务 但从未让它在发布模式下正常运行 即使
  • 通过打开包含内容的文本编辑器来捕获用户输入

    从 bash 脚本中 我想 打开当前用户的默认文本编辑器 粘贴字符串 original content in it 一旦用户修改内容然后关闭文本编辑器 将修改后的字符串捕获到变量中 modified content 然后保存 modifie