Alfred工作流workflows实例 - 查询内网ip
作者:matrix 发布时间:2018-09-07 分类:零零星星
Alfred是mac上强大的快速启动工具 可以自定义php/shell/ruby/python脚本执行任意操作。比如快速搜索关键字打开网页 查询字符转码 ip。。。这些都是可以自己定义操作的,只是需要一些脚本语言编写的知识。
windows 上有类型的Wox https://github.com/Wox-launcher/Wox
下载Alfred
官网: https://www.Alfredapp.com/
工作流workflows自定义脚本的功能在Alfred中是收费的功能,还好 有可用的版本
nmac.to cracked:https://userscloud.com/o3ibe2w7071h/nmac.to_alf37931b.zip
添加/配置workflows
点击
Workflows
切换到工作流选项窗口左下角 「 help + -」,点击
+
->Blank Workflow
开始新建工作流程
填写名称name
,描述Description
,Bundle id
为自己标记的包名id 要确保唯一性。
右边黑色背景窗口中右键
inputs
->Script Filter
添加自定义执行的脚本
配置执行脚本以及触发的关键字
keyword
为触发的关键字 比如alfred启动框框中输入baidu空格query
,baidu
就是触发脚本的自定义关键字,空格后面的query即为查询的参数下面的
Language`即为脚本语言 这里用的系统自带的权限脚本。
#!/bin/bash
ip=$(ifconfig en0 | grep 'inet .*' | sed 's/^.*inet//g' | sed 's/ netmask.*//g')
cat << EOF
{"items": [
{
"title": "${ip}",
"subtitle": "局域网en0 ip",
"arg": "${ip}"
}
]}
EOF
说明:
使用系统bash 查询ifconfig
命令en0网卡的IP信息 管道命令符|
继续处理sed
截取输出结果。
最后使用cat
输出json数据用于Alfred读取并显示到结果列表
items具体参数释义参考下方alfredapp.com链接。
这里arg
是用于复制粘贴/通知等操作的Alfred变量赋值,否则会没反应。如果只是显示查看 可以只设置title
,subtitle
效果就已经比较好了。
点击
save
保存
调试
窗口右边有蜘蛛「🕷️」图标 下方的Log
下拉框 选择 all information
便于查看调试信息
启动
option
+space
启动 输入触发关键字
下载
上面只是操作记录 这里可以直接下载:local ip.alfredworkflow
解压缩 直接打开alfredworkflow文件import导入
参考:
https://www.alfredapp.com/help/workflows/inputs/script-filter/json/
https://www.jianshu.com/p/7e1ea4f296c8
https://sspai.com/post/44624
https://www.jianshu.com/p/e9f3352c785f