美文网首页
alfred workflow shell编写显示hosts示例

alfred workflow shell编写显示hosts示例

作者: yhan219 | 来源:发表于2020-05-26 14:09 被阅读0次

alfred workflow shell编写显示hosts示例

Alfred是macOS上屡获殊荣的应用程序,可通过热键,关键字,文本扩展等功能提高效率。搜索Mac和网络,并通过自定义操作来控制Mac来提高生产力。

新建一个workflow

点击左下角+-->Templates-->Essentials-->Script Filter to Script,填写nameicon,新建完成后如下:

image

修改Script Filter

双击第一个图形,进入修改页面,其中

  • keyword填写关键字,如hosts

  • 参数选项选Argument Optional,即参数选填

  • language/bin/bash,with input as argv

    • with input as argv参数通过query=$1获取

    • with input as query参数通过query="{query}"获取

编写脚本


#!/bin/bash

HOSTS=""

# Handle action

if [[ "$1" != "" ]]; then

  if [[ "$1" == "Null" ]]; then

    exit

  fi

  HOSTS=`cat /etc/hosts | grep '^[^#].*' | grep $1`

else

HOSTS=`cat /etc/hosts | grep '^[^#].*'`

fi

echo "<?xml version='1.0'?><items>"

while read -r HOST; do

  ARRAY=(${HOST// / })

  echo "<item uid='${ARRAY[0]}' arg='${ARRAY[0]}'><title>${ARRAY[1]}</title><subtitle>${ARRAY[0]}</subtitle></item>"

done <<< "$HOSTS"

echo "</items>"

alfred workflow主要是通过构建如下结构并输入:


<?xml version="1.0" encoding="utf-8"?>

<items>

  <item uid="id" arg="参数,可传递到下一个流程" valid="yes" autocomplete="yes">

    <title>标题</title>

    <subtitle>副标题)</subtitle>

    <icon>图标,缺省显示应用图标</icon>

  </item>

</items>

填写完成后如下:

image

添加粘贴

我们需要将选中的ip复制到粘贴板

  • 界面上删除第二个图形

  • 右键新建粘贴图形,右键-->Outputs-->Copy to Clipboard,弹出框直接save即可

  • 界面上从图形一拉一条线到图形二即可

完成后如下:

image

效果图

选中选项后,回车,IP即拷贝到粘贴板

image

github

GitHub - yhan219/show_hosts: show hosts and passing selected to clipboard

参考文献

Help and Support > Workflows

https://blog.yhan219.com/alfred-workflow/

相关文章

网友评论

      本文标题:alfred workflow shell编写显示hosts示例

      本文链接:https://www.haomeiwen.com/subject/pzomahtx.html