0

我正在尝试在 Freeplane 的节点中创建指向 shell 脚本的链接。当我监视节点中的文本时,node.link.text我得到execute_:script.sh%20/home/dir/file.ext

好的,它可以工作,但是当我的路径有特殊字符链接空格或()时,它无法打开。我已经尝试使用来自 java.net 的 URLEncoder:

filePath='/home/user/Books/Author Name/File (231)/Book - Author.pdf'
urlEncoder = new URLEncoder()
def urlEncode(String s) {
    urlEncoder.encode(s).replace("+", "%20");
}
fileLink = 'execute:_docreader.sh%20-p%20' + page + '%20' + urlEncode(filePath)
createdNode.link.setText(fileLink)

但是我无法执行任何以文件为参数的命令,其路径具有特殊字符。我什至尝试手动将 ' 或 " 放在路径中,但也没有用。

如果 filePath 没有特殊字符,就像/home/user/Books/AuthorName/file.pdf它工作正常一样。

我查看了 Freeplane wiki 和 Freeplane API,查看了示例,但没有找到任何线索。

4

0 回答 0