私は2台のコンピュータ間でファイルを同期するためにrsyncを使っています。あるマシンでは、私のデフォルトシェルはfishに設定されています。これはrsyncを壊します( "プロトコルバージョンの不一致 - あなたのシェルはきれいですか?")。
デフォルトのログインシェルの代わりに/ bin / shを使うようにrsyncに指示する方法はありますか?
私は2台のコンピュータ間でファイルを同期するためにrsyncを使っています。あるマシンでは、私のデフォルトシェルはfishに設定されています。これはrsyncを壊します( "プロトコルバージョンの不一致 - あなたのシェルはきれいですか?")。
デフォルトのログインシェルの代わりに/ bin / shを使うようにrsyncに指示する方法はありますか?
回答:
私はこれを私の中で見ます rsyncのmanページ :
診断
rsyncは時折、ちょっとわかりにくいかもしれないエラーメッセージを生成します。原因と思われるもの 最も混乱するのは「プロトコルバージョンの不一致 - あなたのシェルはきれいなのか?」です。
このメッセージは通常、起動スクリプトまたはリモートシェル機能によって不要なゴミが生成されたために発生します。 rsyncがトランスポートに使用しているストリームこの問題を診断する方法は、リモコンを起動することです。 このようなシェル:
ssh remotehost /bin/true > out.dat
それからout.datを見てください。すべてが正しく機能している場合、out.datは長さ0のファイルになります。もし、あんたが rsyncから上記のエラーが発生しているのであれば、おそらくout.datにテキストやデータが含まれていることがわかります。 内容を見て、それを作り出しているものを解決しようとしてください。最も一般的な原因は、非対話式の出力ステートメントを含む、誤って構成されたシェル始動スクリプト(.cshrcまたは.profileなど)です。 ログイン
-c thecommand
;これは迂回できません。