簡體   English   中英

添加一個 makepkg dlagent,它接受非零退出代碼

[英]add a makepkg dlagent, which accept a non zero exit code

對於某些下載,lgogdownloader 在成功下載后總是返回退出代碼 141。 因此,dlagent 應該捕獲此退出代碼。

我已經嘗試了一些 dlagents,但這些都不起作用:

DLAGENTS+=('gogdownloader::/usr/bin/lgogdownloader --download-file=%u -o %o || /usr/bin/test $? -eq 141')

Error: unrecognised option '-eq'
DLAGENTS+=('gogdownloader::/usr/bin/bash -c \"lgogdownloader --download-file=%u -o %o || test $? -eq 141\"')

--download-file=gogdownloader://2146639313/en3installer0: -c: line 0: unexpected EOF while looking for matching `"'
--download-file=gogdownloader://2146639313/en3installer0: -c: line 1: syntax error: unexpected end of file

您的問題是您錯誤地轉義了'字符串中的" 。這會重現您的第二條錯誤消息:

$ eval '/usr/bin/bash -c \"echo hello world\"'
hello: -c: line 0: unexpected EOF while looking for matching `"'
hello: -c: line 1: syntax error: unexpected end of file

第一次出現\"被視為該文字序列,而第二次出現轉義引號,給您留下一個永無止境的字符串。刪除轉義符,您將獲得所需的結果:

$ eval '/usr/bin/bash -c "echo hello world"'
hello world

msrd0 如何提到您可以使用單獨的腳本:

DLAGENTS+=("gogdownloader::./catch_gogdownloader_error141.sh %u %o")
#!/bin/bash
lgogdownloader --download-file=$1 -o $2 || test $? -eq 141

但我認為這更像是一種解決方法,而不是真正的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM