首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bash shell脚本101 -变量定义、pbcopy等

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

Stack Overflow用户
提问于 2014-11-04 08:40:03
回答 1查看 212关注 0票数 1

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

代码语言:javascript
复制
#!/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. URIEncode用户输入(谷歌的最高结果是使用node.js,但任何事情都可以。)
  3. 对该网站执行cURL调用,将方程转换为GIF图像
  4. 将图像复制到占位符,这样我就可以将其粘贴到一个记录应用程序中,比如OneNote、Word等。

我的脚本出现了以下故障:

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

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-04 08:46:37

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

这一行应改为

代码语言:javascript
复制
URIEncoded=$(node -p "encodeURIComponent('$(sed "s/'/\\\'/g" <<<"$TeXFormula")')")

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

当我使用pbcopy复制时,图像的加密文本内容将被复制,而不是实际的图像。有办法解决这个问题吗?否则,脚本可以自动打开图像,我可以手动打开内容Cmd +C。

pbcopy从stdin接收输入,但是您告诉curl将输出写到文件中,而不是stdout。试一试

代码语言:javascript
复制
curl http://latex.codecogs.com/gif.latex?$URIEncoded | pbcopy

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

代码语言:javascript
复制
curl http://latex.codecogs.com/gif.latex?$URIEncoded -o /Users/casparjespersen/Desktop/notetex.gif && open $_
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26730810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档