Это происходит потому, что строка в {}
не оцениваются , так что у вас есть 2 пути здесь.
Первый с помощью команды списка:
-headers [list \
Authorization [list Bearer $token] \
Content-Type application/json ]
Второй командой SUBST:
-headers [subst -nocommands \
{Authorization {Bearer $token} Content-Type application/json}]
Первый метод является надлежащим для использования, так как это эквивалентно Пример OP, просто другое выражение списка.
Целью второго способа является то, что вы вводите параметр как переменную и не можете изменить формат в коде.
Обратите внимание, что случай с subst
работает с строкой, а не с предыдущим.
Он должен работать так же, как строка может быть преобразована в список легко:
$ tclsh
% set x "A B C D"
A B C D
% lindex $x 0
A
%
Как вы видите переменный x
является строкой, но вы можете получить доступ, как это список без проблем.
Я бы настоятельно рекомендовал первый; второй может иметь неожиданное поведение, если токен содержит метасимволы из списка ('' '' '' '' '' 'особенно). –
Правильно, спасибо, я объяснил, что эта часть, и разница с двумя методами. –
Спасибо большое !!!! :) – Dcode