5

Lua コードをファイルに書き込むリモート マシンでスクリプトを呼び出す SSH コマンドを実行しようとしています。

bash で実行する次のスクリプト コマンドがあります。

ssh bob writelua.sh '{version=1,{["foo"]=17}}'

writelua.shのようになります。

echo "return $1" > bar.lua

ただし、最終結果bar.luaは次の内容になります。

return version=1

一重引用符がすべての解釈を妨げていると思っていました。スクリプトを編集してエスケープし、生の Lua コードを無傷で渡すにはどうすればよいですか?

4

4 に答える 4

2

過度の引用をすべて使用heredocおよび回避します。

ssh -T bob << \EOF
    writelua.sh '{version=1,{["foo"]=17}}'
EOF

これにより、生のスクリプトがリモート ホストに送信され、リモート ホスト自体で解釈されます。

于 2013-10-14T17:36:51.380 に答える