0

これは私のスクリプトであり、rsync のパスワード フィールドに入力するのを期待しています。これが、変数 ($FILE、提案を歓迎します) で動作させる唯一の方法です。

cmdで動作し、出力は期待どおりです(-Pスイッチはプログレスバーを出力するため、チェックせずに動作することがわかります)。

#!/bin/bash
cd "/cygdrive/c/"
FILE=$(cygpath -u $1); #full file path to sync
a='USER@HOST:/; expect "*?assword:*" {send "user_pass\r";interact};'
LINE="spawn rsync -P --port=port $FILE "$a 
expect -c "$LINE"

これは、.sublime-project ファイル内の Sublime Text ビルド sys です (パスに cygwin/bin を含めたので、bash を認識します)。

{
    "name" : "RSync This",
    "shell":  true,
    "cmd": ["bash","/cygdrive/c/rsync.sh","$file"]            
}

出力:

spawn rsync -P --port=22 /cygdrive/c/test USER@HOST:/
USER@HOST's password: [Finished in 0.8s]

プログレスバーも変更もありません。何が得られるかわかりません。

私の間違いはどこですか?

4

1 に答える 1