Строковая конструкция <<<...
подает заданную строку плюс новую строку в качестве входных данных для команды. Таким образом, openssl sha1 -binary <<< 'a0+ZvgYqsMFHRerif0go8g==258EAFA5-E914-47DA-95CA-C5AB0DC85B11'
эквивалентно
printf '%s\n' 'a0+ZvgYqsMFHRerif0go8g==258EAFA5-E914-47DA-95CA-C5AB0DC85B11' | openssl sha1 -binary
Но в вашей спецификации сказано "Конкатенировать ключ с 258EAFA5-E914-47DA-95CA-C5AB0DC85B11", а не "Конкат[енировать] ключ с 258EAFA5-E914-47DA-95CA-C5AB0DC85B11 и новой строкой". Поэтому вам нужно
printf '%s' 'a0+ZvgYqsMFHRerif0go8g==258EAFA5-E914-47DA-95CA-C5AB0DC85B11' | openssl sha1 -binary
и это дает результат tswGtNOxrRhDmC04XQaDigMeaJA=
.
echo -n ...
эквивалентен printf %s ...
за исключением того, что есть оболочки, которые не поддерживают echo -n
или расширяют обратные косые черты в echo ...
, тогда как printf %s ...
имеет стандартное поведение (всегда печатать аргумент буквально).
Не существует общей концепции эмулятора терминала по умолчанию.
Чтобы получить рабочий стол GNOME по умолчанию, используйте следующие команды (, взятые изhttps://stackoverflow.com/a/18647630/4457671):
gsettings get org.gnome.desktop.default-applications.terminal exec
gsettings get org.gnome.desktop.default-applications.terminal exec-arg
Как egmont уже описал , для эмуляторов терминала нет значений по умолчанию, так как реализации сильно различаются.
Я ответил в более длинном формате на аналогичный вопрос в Super User, Найдите эмулятор терминала по умолчанию с этим ответом .