2016-09-16 8 views
0

私はこのようなコマンドを持っている:

ssh [email protected] 'sed -e "s|foo|${bar}|" /home/data/base_out.sql > /home/data/out.sql' 

のsedコマンドは、ローカルシェルで働いているし。しかし、sshコマンドで変数を拡張しているわけではありません。ありがとう!

答えて

0

シングルクォーテーションでは、パラメータは展開されません。コマンド全体を一重引用符で囲みます。

このお試しください:コマンド文字列が何をしたいですsshへの引数として渡される前$bar

ssh [email protected] "sed -e 's|foo|$bar|' /home/data/base_out.sql > /home/data/out.sql" 

が展開されています。

中括弧は${bar}で削除されています。私はそれらが誤ったセキュリティを提供していると信じています。この場合、彼らはusing shell variables in sed commandsに関連する問題のいずれかに対してあなたを保護していません。

関連する問題