【问题标题】:Getting user selection in a CLI app在 CLI 应用程序中获取用户选择
【发布时间】:2015-07-22 09:24:16
【问题描述】:

我非常喜欢 iTerm 2 中的自动复制功能。是否可以通过 Bash/ZSH/Node/Python 等以编程方式获取用户的选择?我熟悉使用 pbcopy 之类的东西来点击粘贴板,但不熟悉在 JavaScript 或 Objective-C 之外检索当前选择的方法。

【问题讨论】:

  • 你到底想做什么?您在哪里尝试获取用户的选择?通过选择,您的意思是外壳中的当前/最后一个突出显示?
  • 正是 iTerm 2 所做的。当进行文本选择/突出显示时,会触发一个事件并将突出显示的文本复制到剪贴板。
  • 不过,这并不是我的问题的真正答案。你说iTerm2 已经做了你想做的,对吧?那么,您希望它发生在哪些地方没有发生呢?
  • 你到底想做什么? “通过 Bash/ZSH/Node/Python 以编程方式获取用户的选择”您在哪里尝试获取用户的选择? “在 CLI 应用程序的代码中。Node 中的 Yargs 就是一个例子。”通过选择,您的意思是外壳中的当前/最后一个突出显示? “是的。”

标签: macos shell terminal command-line-interface clipboard


【解决方案1】:

您可以 -- 假设这是一个 X-Windows 问题 -- 使用 xclip 命令从命令行(或在 shell 脚本中)检索当前的 X 选择。例如,像这样:

current_selection=$(xclip -o)
echo "Your selection was: $current_selection)

xclip 的来源是here,它很可能已经为你最喜欢的操作系统打包(在我的 Fedora 盒子上,它可以通过 xclip 包获得)。

【讨论】:

  • 嗨@larsks——我无法在我的计算机(iMac)上看到它,所以我无法验证答案。
猜你喜欢
  • 2014-11-14
  • 1970-01-01
  • 2016-04-13
  • 1970-01-01
  • 2012-01-07
  • 1970-01-01
  • 2018-10-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多