1

У меня есть следующий bash, который работает

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

Мне нужно избежать этого, чтобы он работал по SSH правильно, поэтому я попробовал следующее

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

дает ошибку

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'

так же как

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

дает ошибку

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

Кто-нибудь знает, как избежать этого? спасибо, Дин

2 ответа2

3

Вы слишком много избегаете - bash уже не интерпретирует строки в одинарных кавычках:

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

ах, это вааааааыыыы клёво Я только что нашел это, так что мне не нужно беспокоиться о побеге НИЧЕГО ...

ssh user@serverB <<\EOF
your sql query....
.....
.....
EOF

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .