リモート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
入力しない?、 エラン
+1は 'exec'を使用していますが、そのファイルは対話型ログインシェル(http://www.gnu.org/software/bash/manual)によって最初に検索されるため、代わりに' .bash_profile'に属します。 /bashref.html#Bash-Startup-Files)。 –
ありがとう、私はLinuxに新しいです。私はchshだけがシェルを変更できると仮定していましたが、あなたが指定したように、コマンドラインでシェルの名前(私の場合はtcsh)を呼び出すだけでそれが変更されます(チェックされます:exportはもう認識されませんがsetenvです)。しかし、(1)echo $ SHELLコマンドはまだbashを表示します。もっと重要なことに、私はいくつかの環境変数のために.cshrcを編集する必要があります。しかし、(2).cshrcは生成されていません。この2つのポイントは私を混乱させます。これはまだchshと同じではない小さな回避策ですか? – Elan
解決方法は です。1.自分自身で.cshrcを作成し、自分のものを入れてください。 2.毎回bashのコマンドラインでtcshを呼び出して変更してください。 3.毎回 'source .cshrc'を使用してください。 4.ビルドソフトウェア ? 私は、私が別のシェル内でシェルを呼び出すときに2回または3回終了する必要があることに気付きました。 – Elan