66
$ echo -n "apfjxkic-omyuobwd339805ak:60a06cd2ddfad610b9490d359d605407" | base64
YXBmanhraWMtb215dW9id2QzMzk4MDVhazo2MGEwNmNkMmRkZmFkNjEwYjk0OTBkMzU5ZDYwNTQw
Nw==

Выход имеет возврат до Nw== . Как правильно генерировать base64 в Linux?

снимок экрана терминала

2 ответа2

123

Пытаться:

echo -n "apfjxkic-omyuobwd339805ak:60a06cd2ddfad610b9490d359d605407" | base64 -w 0

От man base64:

-w , --wrap=COLS
Обтекание закодированных строк после символа COLS (по умолчанию 76). Используйте 0 чтобы отключить перенос строки.

48

Это уступает ответу Камиля на системах, которые поддерживают опцию -w для base64 , но в тех случаях, когда она недоступна (например, Alpine Linux, хук Arch Linux initramfs и т.д.), Вы можете вручную обработать вывод base64:

base64 some_file.txt | tr -d \\n

Это метод грубой силы; вместо того, чтобы заставить программу сотрудничать, я использую tr чтобы без разбора обрезать каждую новую строку на stdout.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .