Я сталкиваюсь с проблемой "список аргументов слишком длинный", используя команду в оболочке (в моем случае 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? Я попробовал некоторые варианты, но не могу понять это.