alfred workflow shell编写显示hosts示例

2020-05-26  本文已影响0人  yhan219

alfred workflow shell编写显示hosts示例

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

新建一个workflow

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

image

修改Script Filter

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

编写脚本


#!/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复制到粘贴板

完成后如下:

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/

上一篇 下一篇

猜你喜欢

热点阅读