tezos node config help cmdliner error unescaped $
$ ./tezos-node config --help
cmdliner error: unescaped '$' in "{ \"data-dir\"?: $unistring,\n \"rpc\"?:\n { \"listen-addr\"?: $unistring,\n \"cors-origin\"?: [ $unistring ... ],\n \"cors-headers\"?: [ $unistring ... ],\n \"crt\"?: $unistring,\n \"key\"?: $unistring },\n \"p2p\":\n { \"expected-proof-of-work\"?: number,\n \"bootstrap-peers\"?: [ $unistring ... ],\n \"listen-addr\"?: $unistring,\n \"private-mode\"?: boolean,\n \"limits\"?:\n { \"connection-timeout\"?: number,\n \"authentication-timeout\"?: number,\n \"min-connections\"?: integer \226\136\136 [0, 2^16-1],\n \"expected-connections\"?: integer \226\136\136 [0, 2^16-1],\n \"max-connections\"?: integer \226\136\136 [0, 2^16-1],\n \"backlog\"?: integer \226\136\136 [0, 255],\n \"max-incoming-connections\"?: integer \226\136\136 [0, 255],\n \"max-download-speed\"?: integer \226\136\136 [-2^30-2, 2^30+2],\n \"max-upload-speed\"?: integer \226\136\136 [-2^30-2, 2^30+2],\n \"swap-linger\"?: number,\n \"binary-chunks-size\"?: integer \226\136\136 [0, 255],\n \"read-buffer-size\"?: integer \226\136\136 [-2^30-2, 2^30+2],\n \"read-queue-size\"?: integer \226\136\136 [-2^30-2, 2^30+2],\n \"write-queue-size\"?: integer \226\136\136 [-2^30-2, 2^30+2],\n \"incoming-app-message-queue-size\"?: integer \226\136\136 [-2^30-2, 2^30+2],\n \"incoming-message-queue-size\"?: integer \226\136\136 [-2^30-2, 2^30+2],\n \"outgoing-message-queue-size\"?: integer \226\136\136 [-2^30-2, 2^30+2],\n \"known_points_history_size\"?: integer \226\136\136 [0, 2^16-1],\n \"known_peer_ids_history_size\"?: integer \226\136\136 [0, 2^16-1],\n \"max_known_points\"?:\n [ integer \226\136\136 [0, 2^16-1], integer \226\136\136 [0, 2^16-1] ],\n \"max_known_peer_ids\"?:\n [ integer \226\136\136 [0, 2^16-1], integer \226\136\136 [0, 2^16-1] ],\n \"greylist-timeout\"?: integer \226\136\136 [-2^30-2, 2^30+2] },\n \"disable_mempool\"?: boolean },\n \"log\"?:\n { \"output\"?: $unistring,\n \"level\"?: $unistring,\n \"rules\"?: $unistring,\n \"template\"?: $unistring },\n \"shell\"?:\n { \"peer_validator\"?:\n { \"block_header_request_timeout\"?: number \226\136\136 [0, 500],\n \"block_operations_request_timeout\"?: number \226\136\136 [0, 500],\n \"protocol_request_timeout\"?: number \226\136\136 [0, 500],\n \"new_head_request_timeout\"?: number \226\136\136 [0, 500],\n \"worker_backlog_size\"?: integer \226\136\136 [0, 2^16-1],\n \"worker_backlog_level\"?: $unistring,\n \"worker_zombie_lifetime\"?: number,\n \"worker_zombie_memory\"?: number },\n \"block_validator\"?:\n { \"protocol_request_timeout\"?: number \226\136\136 [0, 500],\n \"worker_backlog_size\"?: integer \226\136\136 [0, 2^16-1],\n \"worker_backlog_level\"?: $unistring,\n \"worker_zombie_lifetime\"?: number,\n \"worker_zombie_memory\"?: number },\n \"prevalidator\"?:\n { \"operations_request_timeout\"?: number \226\136\136 [0, 500],\n \"max_refused_operations\"?: integer \226\136\136 [0, 2^16-1],\n \"worker_backlog_size\"?: integer \226\136\136 [0, 2^16-1],\n \"worker_backlog_level\"?: $unistring,\n \"worker_zombie_lifetime\"?: number,\n \"worker_zombie_memory\"?: number },\n \"chain_validator\"?:\n { \"bootstrap_threshold\"?: integer \226\136\136 [0, 255],\n \"worker_backlog_size\"?: integer \226\136\136 [0, 2^16-1],\n \"worker_backlog_level\"?: $unistring,\n \"worker_zombie_lifetime\"?: number,\n \"worker_zombie_memory\"?: number } } }\n$unistring:\n /* Universal string representation\n Either a plain UTF8 string, or a sequence of bytes for strings that\n contain invalid byte sequences. */\n string || { \"invalid_utf8_string\": [ integer \226\136\136 [0, 255] ... ] }"
The above sequence repeats for 34 times then prints <standard input>:109: warning: can't find character with input code 226
then does show the man-based help.