2012-03-30 14 views
1

リモートPCのシェルを変更するにはどうすればよいですか?私はbashの持つクラスタにログインしていると私は見出力は、私はそこには、root権限を持っていないので、私は、クラスタ内のypchshをインストールすることはできませんypchshをサポートしていないリモートコンピュータでLinuxシェルを変更する方法

[email protected]:~ $ chsh 
chsh: can only change local entries; use ypchsh instead. 
[email protected]:~ $ ypchsh 
-bash: ypchsh: command not found 

です。 ypchshを起動せずにシェルを変更する方法はありますか?

メモ1: 閲覧中、同じソフトウェアをインストールした別のユーザー(現在は質問できません)のように、適切な設定でディレクトリに.cshrcがあります。彼の.bashrcは最小限であり、リダイレクトはありません。

/etc/passwdには、私たちのどちらのエントリもありません。

getent passwd 

は両方のエントリを表示しますが、両方のエントリは/ bin/bashのみ表示されます。

注2: ソフトウェアはautotoolsで開発されており、tcshの代わりにbashを使用すると間違ったビルドが作成されたことが判明しています。 (私はそれを空想ので、私はシェルを変更しておりません。)

クラスタ内のbashにいるならば、なぜあなただ​​けtcsh入力しない?、 エラン

答えて

-2

をありがとうそれがうまくいけば、それを.bashrcの最後の行に追加するだけではどうですか?

6

.bashrcには、最後にexec tcshと記載してください。

+1

+1は 'exec'を使用していますが、そのファイルは対話型ログインシェル(http://www.gnu.org/software/bash/manual)によって最初に検索されるため、代わりに' .bash_profile'に属します。 /bashref.html#Bash-Startup-Files)。 –

+0

ありがとう、私はLinuxに新しいです。私はchshだけがシェルを変更できると仮定していましたが、あなたが指定したように、コマンドラインでシェルの名前(私の場合はtcsh)を呼び出すだけでそれが変更されます(チェックされます:exportはもう認識されませんがsetenvです)。しかし、(1)echo $ SHELLコマンドはまだbashを表示します。もっと重要なことに、私はいくつかの環境変数のために.cshrcを編集する必要があります。しかし、(2).cshrcは生成されていません。この2つのポイントは私を混乱させます。これはまだchshと同じではない小さな回避策ですか? – Elan

+0

解決方法は です。1.自分自身で.cshrcを作成し、自分のものを入れてください。 2.毎回bashのコマンドラインでtcshを呼び出して変更してください。 3.毎回 'source .cshrc'を使用してください。 4.ビルドソフトウェア ? 私は、私が別のシェル内でシェルを呼び出すときに2回または3回終了する必要があることに気付きました。 – Elan

関連する問題