【问题标题】:How does bash recognize a link?bash 如何识别链接?
【发布时间】:2013-12-09 03:08:24
【问题描述】:

在捕获 href 链接的 bash 脚本中,bash 如何知道 TEXT 是链接而不是典型的字符串?为什么最后当 $TEXT="www.google.com" 时,TEXT 仍然是一个链接?你能用文件做到这一点吗?例如,有一个运行脚本的“点击我”。

shopt -s nocasematch

TEXT='<a href="http://www.google.com/search/something/lulz/here2 i=!mfo1iu489fn1o2jlk21m4098mdoi">"test link"</a><br>'

TEXT=${TEXT##*href=\"}
TEXT=${TEXT%%\"*}
TEXT=${TEXT##*//}
TEXT=${TEXT%%/*}

echo $TEXT

【问题讨论】:

  • 如何判断 bash 知道某事是链接

标签: bash hyperlink href


【解决方案1】:

我想说 bash 本身不能识别链接。但是一些终端模拟器可以

  • 在 gnome 终端中输入 echo http://www.google.com 或“echo www.google.com”终端允许您点击链接,但 echo google.com 不会被识别为一个 - 它很可能取决于 http:// 前缀(清楚地表明它是一个链接)或www 前缀(通常出现在 www 地址),
  • E17 的术语在这方面与 gnome 终端类似,
  • 可能大多数其他终端仿真器都会以类似的方式运行,但我可以确认 2。

从 bash 脚本的使用方式来看,我认为没有独立于实现的方法可以将可点击的 URL 添加到 bash 中。但是您可以使用所描述的方式在终端仿真器中获得类似的行为。或者,从用户那里获取一些是-否变量,并在条件程序调用中使用它:

read openpage
if $openpage -eq "yes"
  # open browser with your URL
fi

描述如何打开网页的位置,例如here.

至于文件,我只保留if $runfile -eq "yes" then command; fi。基本上 bash 并没有考虑任何 GUI 交互 - 毕竟它是一个终端。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 2022-01-28
    • 2016-03-04
    • 2018-05-31
    相关资源
    最近更新 更多