2016-03-23 3 views
0

sshセッションでbash(またはzsh)をデフォルトにしたいので、私がアクセスしているシェルプロファイルにexec bash -lを追加しようとしました:.cshrc。私はsshセッションのためのbashのデフォルトのシェルを持つために 'exec bash -l'を.cshrcに追加しますか?

これはうまくいくように見えましたが、私の試行錯誤の仕方が私を襲ってきています。コマンドscp [email protected]:file .は、exec bash -l行を削除した場合にのみ機能します。

これは、bashシェルにログインする正しい方法ですか、それとも別のことをする必要がありますか?おそらく私の実際のssh [email protected]呼び出しのローカルソリューション。

特定のエラーが関連している場合は、私が編集に貼り付けますが、私は、問題は、私はそれが間違っている...

+0

まず、あなたが言及していますscpとssh。私はsshだけを意味すると思いますか?次に、「うまくいきません」と言うだけです。この情報だけでは、私たちはあまり役に立たない。最後に、あなたはあなたの.cshrcのどこに* exec bash *を挿入したかは言わなかった。いずれにせよ、これをデバッグする際には、 'exec bash -x -l'を実行して結果を分析する方がよいでしょう。 – user1934428

+0

私の.cshrcプロファイルの終わりにexec bash -l(明らかに)。私はsshがうまく動作するので、scpを意味します。 scpは、リモートホストからローカルに 'file'をコピーしようとするとエラーを出します。私はexec bash -lを削除してもそうはしません。私は質問がすでに答えられていると思う。 – Alejandro

+0

scpが.cshrcを実行することに驚いています。それはリモートホスト上であなたを認証する必要がありますが、シェルをまったく動かす必要はありません.... – user1934428

答えて

3

がデフォルトのログインシェルを変更するにはchshコマンドを使用してやっている疑いがあります。

印刷可能なシェルのリスト:

chsh -l 

の変更デフォルトのシェル:

chsh -s /bin/bash <username> 

は、現在のユーザーのデフォルトのログインシェルを取得:

getent passwd <username> | cut -d: -f7 
+0

ああ!それはうまくいった。ログイン時にシェルを変更したい場合、これを.cshrcに入れるのは良い方法ですか? – Alejandro

+0

いいえこれを達成する悪い方法です。 – 7171u

+0

代わりに私は何をしますか? – Alejandro

関連する問題