Как заменить часть hostname в xauth (OLD: How to redirect output of xauth command?)

Я предполагаю, что это потому, что ваши данные (полезная нагрузка) не указаны правильно:

>echo {"username":"TheUserName"} 
{username:TheUserName}

Обратите внимание, что двойные кавычки исчезли после оболочка обработала их.

И AFAIK JSON не позволяет использовать строки без кавычек.

Чтобы исправить это, просто заключите данные в одинарные кавычки, например:

>echo '{"username":"TheUserName"}'
{"username":"TheUserName"}

Если вы хотите, чтобы расширение оболочки (подстановка переменных) работало внутри ваших данных, используйте двойные кавычки и избегайте внутренних кавычек:

>echo "{\"username\":\"$username\"}"
{"username":"myuser"}

Обратите внимание, что есть и другие способы правильно процитировать аргументы вашей оболочки (я думаю, на этом сайте уже есть много хороших ответов по этому поводу). И вы также можете вместо этого поместить свои данные в файл, если хотите.

2
24.04.2016, 19:45
0 ответов

Теги

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