Запустите эмулятор терминала по умолчанию по команде

Строковая конструкция <<<... подает заданную строку плюс новую строку в качестве входных данных для команды. Таким образом, 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 ... имеет стандартное поведение (всегда печатать аргумент буквально).

2
11.11.2018, 22:48
2 ответа

Не существует общей концепции эмулятора терминала по умолчанию.

Чтобы получить рабочий стол 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
3
27.01.2020, 22:17

Как egmont уже описал , для эмуляторов терминала нет значений по умолчанию, так как реализации сильно различаются.

Я ответил в более длинном формате на аналогичный вопрос в Super User, Найдите эмулятор терминала по умолчанию с этим ответом .

0
30.11.2021, 09:11

Теги

Похожие вопросы