我正在嘗試編寫一個簡單的bash腳本,其作用類似於jomo/imgur-screenshot,但使用了ziggi/zimg-host源代碼。上傳圖片/通過curl + scrot + xclip發佈帖子請求
基本上imgur-screenshot所做的是當腳本初始化時,它打開scrot -select
(-select選項交互式地用鼠標選擇一個窗口或矩形)。然後,一旦你截取了定義區域的截圖,它會將保存的截圖上傳到imgur(或者在我的情況下,我的自託管網站使用ziggi/zimg-host),然後用xclip將所需的結果數據(最終URL鏈接)到您的剪貼板。
這是我的(很基地)bash腳本,我現在必須執行此通緝目的:
#!/bin/bash
function uploadImage {
curl -s -F files[]="@$1" http://ziggisite.com/upload.php
}
if [ "$#" -ne 1 ]; then
notify-send "Upload error"
else
uploadImage $1 | xclip -selection c
notify-send "Upload complete"
fi
當我使用下面的命令啓動此腳本:scrot -e './img.sh $f'
,其上傳的截圖成功,但XCLIP呢不要將正確的數據複製到我的剪貼板 - 而是複製所有輸出的內容。
以供參考,ziggi/zimg主機響應看起來是這樣的:
[
{
"name":"image1.jpg",
"type":2,
"size":
{
"width":420,
"height":336,
"filesize":26834
},
"error":
{
"upload":0,
"type":0,
"size":0
},
"url":"ccc762c11f336cfa9fdbcc1b7ea4c1a3.jpg"
}
]
基本上一旦劇本跑,我需要它來複制響應的「URL」部分,並拋出http://ziggisite.com
在它的開始,所以複製到我的剪貼板的最終數據看起來像http://ziggisite.com/ccc762c11f336cfa9fdbcc1b7ea4c1a3.jpg
。
如果有人可以拋出一些資源或援助,那會很棒!
獲取JSON解析器。我最喜歡的是[stedolan/jq](https://github.com/stedolan/jq)。 – 4ae1e1
@ 4ae1e1我抓住jq並嘗試用它來解析URL值,但是我能得到的最接近的結果是包含'{「url」:「ccc762c11f.jpg」}'的整個結果。我正在使用'jq'。[0] | {URL}''。我怎樣才能改變這只是抓住'ccc762c11f.jpg' – amy
你看過手冊嗎? 'jq'的DSL非常簡單。當你面對DSL時,你不會猜測或發明自己的語法;相反,你去RTFM(閱讀f *手冊)。無論如何,我會爲你的具體情況寫一個答案。 – 4ae1e1