Все, что заключено в одинарные кавычки, будет передано точно так, как вы его напечатали. Таким образом, command '$i'
передаст команде строку, состоящую из двух символов $
и i
.
Вы должны использовать двойные кавычки, чтобы вместо этого использовать значение переменной
for i in `cat $1`
do
command "$i"
done
Или, поскольку ваш код ожидает одно слово в строке в вашем файле, замените весь цикл этой единственной строкой:
xargs -n1 -r command <"$1"
В официальном примере Docker, который, как я ошибочно предполагал, будет работать как тело теста, была следующая строка:
"CpuRealtimePeriod": 1000000,
Которое устанавливает значение, которое, по-видимому, не поддерживается большинством или, возможно, любым из готовых дистрибутивов Linux. Гонка мастеров Arch Linux; ).