cshrcはその中でbashrcを実行しますか?

cshrcはその中でbashrcを実行しますか?

私たちの学校はデフォルトでcsh / tcsh Linuxアカウントを使用しています。ところで、家にいるbashrcに設定が多すぎて学校でも使いたいです。ただし、cshrcにはいくつかの重要なことが発生するため、ログインするたびにシェルを変更したくありません。 cshrc内でbashrcを呼び出すか実行して同じ効果を得る方法はありますか?それとも、bashrcをcshrcに変換する方法を知る必要がありますか?このアイデアがどれほど狂ったのかわかりません。私は個人的にbashrcに本当に慣れています。

助けてくれてありがとう!

編集:bashを使用できるようにcshrcをbashrcに変換することにしました... Ick Csh - これを翻訳することにコメントがある人はいますか?

今日遅れてcshrcを使えるようになりますように。

set defaultsdir=~defaults
# source ${defaultsdir}/linuxpaths
source ${HOME}/linuxpaths
# # add your custom shell commands here
# # see 'man tcsh' for more info
if ( $?prompt ) then
  set autoexpand
  set autolist
  set cdpath = ( ~ )
  set pushdtohome

  set savehist=10000
  set histfile=~/.history

# Load aliases from ~/.alias
  if ( -e ~/.alias )    source ~/.alias

endif

答え1

exec bashあなたの馬の終わりにそれを追加するのはどうですか.cshrc

警戒するただし、完全にリスクがないわけではないので、あるウィンドウ/セッションでこれを実行すると同時に、別のウィンドウ/セッションで結果をテストして回復する機会を提供できます。 (または近くにウェブマスターがあります。)

答え2

これらのほとんどには、翻訳する必要がある外部ファイル(コマンド)が.cshrc含まれています。sourceこのif ( $?prompt )部分はbashの対話型シェルでのみ実行されるので、心配する必要はありません。一部のsetコマンドはまったく同じシェルオプションを設定しません。設定を完了するには、bashを調整する必要があるかもしれません。重要な行は次のとおりです。

set defaultsdir=~defaults                defaultsdir=~defaults
source ${HOME}/linuxpaths                . ~/linuxpaths.sh
set savehist=10000                       HISTSIZE=10000; HISTFILESIZE=$HISTSIZE
if ( -e ~/.alias ) source ~/.alias       . ~/.alias.sh

を変更する理由はありませんが、テキストモードログインでbashまたはzsh(利用可能な場合)に移動するように~/.cshrc変更したい場合があります。~/.login最後にこれを使用してください~/.login

if ($?prompt != 0) then
  which bash >/dev/null >&/dev/null
  if ($status == 0) then
    setenv SHELL bash
    exec bash --login
  fi
endif

答え3

.cshrcファイルは.bashrcシェル独自の言語で作成され、両方の言語は互換性がありません。また、通常、これらのファイルに入れることはシェルの起動動作に影響を与えるコマンドなので、別のシェルで1つのシェルを実行することは限られた範囲でのみ役立ちます。

.cshrcWebサイトとホームページの機能を使用するには、ファイルの1つを別の構文に変換する必要があります.bashrc

.cshrc別の方法の代わりに Bash で動作するようにサイトを変換するには、次のようにシステムでシェルを永久に切り替えることができます。

% chsh -s /bin/bash

別のオプションは、ホームをCシェル構文に変換してファイル.bashrcに追加することです。.cshrc私はこれをお勧めしません。なぜなら有害とみなされるCshプログラミング。 :)

関連情報