使用したことのないローバーのソース コードを確認したところ、既存のコードでは不可能であることがわかりました。
~ および ${HOME} 構文をサポートする新しい拡張機能を作成しました (これらは bash 拡張機能であり、OS の一部ではないため、perl はそれらをサポートしていません)。
コードはこちら:
https://github.com/h4ck3rm1k3/perl-rover/commit/2c78aefb97e819956bb665b04056763f8df1b242
以前にローバーを使用したことがなく、ローバーが scp をサポートしていないように見えるため、テストに苦労しました。(サポートされていると読みましたが、まだテストできませんでした。) とにかく、気に入ったら教えてください。合理的に要求された場合は、さらに作業を行います。
アップデート
これが私のルールセットの例です:
ルールセットの例
[rulesets]
test:
{
put_file_from_home put_file "~/find2.sh" "/tmp/"
put_file_from_home put_file "${HOME}/find3.sh" "/tmp/"
}, ;
出力例
出力例を次に示します。ローバーを動作させることができません。以下のテストケースを参照してください。
テスト出力
perl -I lib t/example2.t
Local was ~/find2.sh and home was /home/mdupont at lib/Rover/CoreExtension.pm line 19.
Local now /home/mdupont/find2.sh at lib/Rover/CoreExtension.pm line 22.
Local was ${HOME}/find3.sh and home was /home/mdupont at lib/Rover/CoreExtension.pm line 19.
Local now /home/mdupont/find3.sh at lib//Rover/CoreExtension.pm line 22.
新しい sshport オプションの新しい構成オプション
[hosts]
someexample:{
os linux
username myusername
description 'myhost'
sshport 12345
ftp_method_used sftp
};
update2
名前を引用符で囲んだり、引数の間にコンマを使用したりしないでください。
git@github.com:h4ck3rm1k3/perl-rover.git 2207417..7637741 へ CoreExtension -> CoreExtension
[rulesets]
test: { put_file_from_home ~/find2.sh,/tmp/ }, ;
[hosts]
localhost:{
os linux
username mdupont
description 'localhost'
ftp_methods sftp
ftp_method_used sftp };
マイク