如何在 bash shell 中使用指令的無限參數清單?

如何在 bash shell 中使用指令的無限參數清單?

我在 shell 中使用命令(在我的例子中是 bash)遇到了「參數清單太長」的問題。解決此問題的大多數建議都建議使用find或 一些變體,假設它是超出參數長度限制的一長串文件。

但是,就我而言,它不是文件列表,而是參數列表。我正在使用音訊處理軟體sox,並且需要能夠使用盡可能多的命令列參數(取決於輸入音訊檔案的長度)。因此,例如,我想要的命令的簡短版本可能如下所示:

sox input.wav output.wav trim 0 1 gain 1 : trim 0 1 gain 2 : trim 0 1 gain 1

但我希望它能夠持續下去,而不是僅僅三個修剪/增益參數對(所以想像一下,它只是繼續與trim 0 1 gain X.

有沒有辦法寫一個函數來產生它以顛覆 arg 長度限制?我嘗試了一些變化,但似乎無法弄清楚。

答案1

如果特定的解決方案sox可以滿足您的即時需求,我從sox(1)手冊頁中看到它有一個選項--effects-file,可以讓您指定文件中的所有編輯而不是命令列參數。

相關內容