Возможно, вам просто нужно добавить кавычки вокруг переменных.
wget -u "$USER" -p "$PASSWORD"
Если вам выпало перехватить новую строку в конце переменной, вы можете удалить ее с помощью:
wget -u "${USER%$'\n'}" -p "${PASSWORD%$'\n'}"
Синтаксис ${var}
эквивалентен $var
, но фигурные скобки позволяют манипулировать переменными с помощью bash. Добавляя %$'\n'
перед конечной фигурной скобкой, %
означает удаление текста $'\n'
, что означает удаление завершающего символа новой строки, если таковой имеется.
В худшем случае вы можете получить перевод строки и возврат каретки (возможно, если файлы были сгенерированы текстовым редактором в Windows), но вы также можете справиться с этим:
wget -u "${USER%%[$'\n'$'\r']*}" -p "${PASSWORD%%[$'\n'$'\r']*}"
На этот раз искомый текст - [$'\n'$'\r']*
, что означает «первая новая строка (\n
) или возврат каретки (\r
) и все после», а оператор %%
означает «удалить самую длинную последовательность» в конце ".