在Alfred的“运行脚本”工作流程中,如何在没有换行符的情况下用osascript回应某些内容?

板栗

我使用osascript(js)在Alfred工作流程中编写了一些脚本。众所周知,console.logundefined日志后回显到stdout,我们无法使用它将结果传递到工作流输出,例如clipboard然后我发现我可以使用eval或只运行一个表达式以将某些东西传递给stdout。但是我们知道它将为标准输出添加换行符。然后,我得到的结果是换行符,这是附加的。这不是解决我的问题的完美方法。还有其他决议吗?

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

代码的功能可以忽略。只需专注于如何在没有换行符拖尾的情况下进行回显即可。谢谢你。

埃尔普鲁普

我找不到使用osascript(JS)做到这一点的方法。但是还有另一种方式。

  1. 将脚本语言从osascript(JS)更改为bash。
  2. 脚本:获取osascript的结果,修剪多余的换行符。

    osascript -l JavaScript process.js "{query}" | tr -d '\n'
    
  3. 将您的代码解析为工作流文件夹中的process.js。添加代码以从命令行读取参数。(特别感谢mikaelbr / node-osascript

    var app = Application.currentApplication();
    app.includeStandardAdditions = true;
    
    ObjC.import('Cocoa');
    var args = ObjC.deepUnwrap($.NSProcessInfo.processInfo.arguments).slice(4);
    
    var query = args[0].split(' ');
    var set1 = query[0].split(',');
    var set2 = query[1].split(',');
    var res = set1.filter(function (id,index){
        return set2.indexOf(id) != -1;
    })
    res.join(query[2] || ',')
    

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档