我正在尝试创建一个(我的第一个)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
我希望它:
我的脚本出现以下故障:
URIEncoded
未定义,因此我的变量定义出现了问题。pbcopy
复制时,会复制图像的加密文本内容,而不是实际图像。这有解决方法吗?否则,脚本可以自动打开图像,我可以手动Cmd + C内容。答案 0 :(得分:2)
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 $_