rsyncを使って代替シェルを指定する


1

私は2台のコンピュータ間でファイルを同期するためにrsyncを使っています。あるマシンでは、私のデフォルトシェルはfishに設定されています。これはrsyncを壊します( "プロトコルバージョンの不一致 - あなたのシェルはきれいですか?")。

デフォルトのログインシェルの代わりに/ bin / shを使うようにrsyncに指示する方法はありますか?


リモートsshコマンドは常にログインシェルを通過します -c thecommand;これは迂回できません。
grawity

回答:


1

私はこれを私の中で見ます rsyncのmanページ

診断

rsyncは時折、ちょっとわかりにくいかもしれないエラーメッセージを生成します。原因と思われるもの          最も混乱するのは「プロトコルバージョンの不一致 - あなたのシェルはきれいなのか?」です。

このメッセージは通常、起動スクリプトまたはリモートシェル機能によって不要なゴミが生成されたために発生します。          rsyncがトランスポートに使用しているストリームこの問題を診断する方法は、リモコンを起動することです。          このようなシェル:

ssh remotehost /bin/true > out.dat

それからout.datを見てください。すべてが正しく機能している場合、out.datは長さ0のファイルになります。もし、あんたが          rsyncから上記のエラーが発生しているのであれば、おそらくout.datにテキストやデータが含まれていることがわかります。          内容を見て、それを作り出しているものを解決しようとしてください。最も一般的な原因は、非対話式の出力ステートメントを含む、誤って構成されたシェル始動スクリプト(.cshrcまたは.profileなど)です。          ログイン


ありがとう、それはそれのようです。私はそれがログイン時に物事を出力するのをやめ、それはうまく機能します。
Drew DeVault
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.