因此,假設有一個名為“foo”的命令,它需要 2 個 .txt 檔案,但是我想運行“foo”命令而不必每次運行它時都創建 2 個 .txt 檔案,然后洗掉 2 個 .txt檔案。
例如:
foo --param1=$(curl www.repository-param1-latest.com) --param2=$(curl www.repository-param2-latest.com)
所以在上面的場景中,我有一個網站,其中存盤了不同版本的引數,并且只想卷曲它們。但是“foo”只接受一個檔案,所以如果我嘗試執行上述操作,它會給我一個錯誤,說檔案名無效。我怎樣才能做類似上面的事情,而不必創建一個檔案,然后洗掉它,我可以自動執行它。
必須對 mac 和 linux 都有效,并且能夠在不需要 sudo 或 root 訪問權限的情況下做到這一點。
uj5u.com熱心網友回復:
如果您的 shell 支持行程替換,您可以嘗試
foo --param1=<(curl ...) --param2=<(curl ...)
或者,您可以撰寫一個函式來下載檔案,然后將其洗掉。這樣,您可以引數化對 curl 的呼叫:
myfoo () {
curl -o /tmp/out1.$$ "www.$1-..."
curl -o /tmp/out2.$$ "www.$2-..."
foo --param1=/tmp/out1.$$ --param2=/tmp/out2.$$
rm /tmp/out[12].$$
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/370961.html
