wie man dem entgeht, damit es von ssh exec läuft

1

Ich habe die folgende Bash, die funktioniert

export READ=$(cat /opt/TOKEN.txt);echo "initial_token: $READ" >> cassandra.yaml

Ich muss dem entkommen, damit es über ssh läuft, also habe ich Folgendes versucht

ssh host 'export READ=\$(cat /opt/TOKEN.txt);echo \"initial_token: \$READ\" >> cassandra.yaml'

ergibt Fehler

bash: -c: line 0: syntax error near unexpected token `('
bash: -c: line 0: `export READ=\$(cat /opt/TOKEN.txt);echo \"initial_token: \$READ\" >> cassandra.yaml'

ebenso gut wie

ssh host 'export READ=\$\(cat /opt/TOKEN.txt\);echo \"initial_token: \$READ\" >> cassandra.yaml'

ergibt Fehler

bash: line 0: export: `/opt/TOKEN.txt)': not a valid identifier

Weiß jemand, wie man dem entgeht? Danke, Dean

Dean Hiller
quelle

Antworten:

3

Sie entkommen zu viel - Bash interpretiert Strings in Anführungszeichen bereits nicht:

ssh host 'READ=$(< /opt/TOKEN.txt); echo "initial_token: $READ" >> cassandra.yaml'
Grawity
quelle
2

ah man, das ist waaaaaayyyyy cool. Ich habe das gerade gefunden, also brauche ich mir keine Sorgen zu machen, dass ich NICHTS entkommen kann ...

ssh user@serverB <<\EOF
your sql query....
.....
.....
EOF
Dean Hiller
quelle