Cypher parameters in CLI cypher-script

Neo4j 3.5.8

Neo4j and Cypher documentation everywhere for how to use parameters, and how they improve query performance. However, I've only found three well defined methods of passing parameters into a cypher query:

  1. Neo4j Browser or cypher-shell:param paramName: 'value';
  2. HTTP-API 3.5 POST ... "parameters": { ... } ...
  3. Deprecated REST API POST ... "params": { ... } ...

However, none of these approaches address how to use parameters for efficient .cypher scripts.

Latest Attempt

printf ":param test: 'tested'; \nCREATE (:Meta {name: \$test});\n" | cypher-shell -u neo4j -p neo4j

(note: that's not my actual user/pass)

Result

Invalid input 'A': expected whitespace, comment, Statement or end of input (line 1, column 19 (offset: 18))

What am I missing?