2016-10-05 17 views
0

ruby​​で以下のコマンドを実行したいと思います。私はこれらに直面していますがssh [email protected] Rubyで複数のbashコマンドとsshを呼び出す方法は?

  • セットのソースファイルを使用して別のコンピュータに

    1. SSH source ~/.profile
    2. cd to/some/folder
    3. は、パラメータでJSON形式の文字列、./my_script.sh my_hash.to_json

    を私のシェルスクリプトを呼び出します問題: 私はbackticksを使用してそれらを1行で呼び出す、それは動作しますが、それは私のopiでは非常に悪い習慣ですそれは読み込みも維持もできないからです。

    一方、my_hash.to_jsonを呼び出すと、結果の文字列にエスケープされない二重引用符があります。どのようにエスケープしますか?

  • 答えて

    1

    これは、rubyを使ってsshを実行する場合はtutorialです。シェルスクリプトを作成してそれをサーバーに移動してから、単一のコマンドのように実行します。

    例:script1のような単一のシェルスクリプトファイルを作成し、各コマンドを個別に実行する代わりに一度に実行します。

    オープンファイル script1任意のエディタを使用します。

    script1(改行の各コマンド)にコピーします。

    script1ファイルがchmod +x script

    を使用してこのファイルを実行可能にこの[backtick]./script1[backtick]

    のようなルビー色でにそれを実行させるファイル

    保存この

    #!/bin/bash 
    
    ssh [email protected] 
    source ~/.profile 
    cd to/some/folder 
    

    のようになります。

    注:script1を「//」を避けるためにusr/binにコピーしてから、コマンドをscript1にしてください。

    は、シェルスクリプトで引数を渡すためにhereです。

    関連する問題