Bash-shell脚本101-变量定义、pbcopy等



我正在尝试创建一个(我的第一个)bash脚本,但我需要一些帮助。我有以下内容:

#!/bin/bash
echo "Write a LaTeX equation:" 
read -e TeXFormula
URIEncoded = node -p "encodeURIComponent('$(sed "s/'/\'/g" <<<"$TeXFormula")')"
curl http://latex.codecogs.com/gif.latex?$URIEncoded -o /Users/casparjespersen/Desktop/notetex.gif | pbcopy

我希望它:

  1. 需要用户输入(LaTeX方程式)
  2. URI对用户输入进行编码(谷歌的最高结果是使用node.js,但任何操作都可以。)
  3. 执行对此网站的cURL调用,将公式转换为GIF图像
  4. 将图像复制到占位符,这样我就可以将其粘贴到OneNote、Word等笔记应用程序中

我的脚本在以下方面出现故障:

  • URIEncoded是未定义的,所以我的变量定义有问题
  • 当我使用pbcopy复制时,会复制图像的加密文本内容,而不是实际图像。有解决办法吗?否则,脚本可以自动打开图像,我可以手动Cmd+C内容

URIEncoded是未定义的,所以我的变量有问题释义

该行应读取

URIEncoded=$(node -p "encodeURIComponent('$(sed "s/'/\'/g" <<<"$TeXFormula")')")

=符号周围没有空格,并且使用$()构造来实际执行命令,否则,命令的文本将被分配给变量。

当我使用pbcopy复制图像被复制,而不是实际图像。是否有解决方法这否则,脚本会自动打开图像,而我可以手动Cmd+C内容。

pbcopy从stdin获取输入,但您告诉curl将输出写入文件而不是stdout。尝试简单的

curl http://latex.codecogs.com/gif.latex?$URIEncoded | pbcopy

或者,对于您描述的的第二个选项

curl http://latex.codecogs.com/gif.latex?$URIEncoded -o /Users/casparjespersen/Desktop/notetex.gif && open $_

相关内容

  • 没有找到相关文章

最新更新