美文网首页
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