私たちの学校はデフォルトで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つのシェルを実行することは限られた範囲でのみ役立ちます。
.cshrc
Webサイトとホームページの機能を使用するには、ファイルの1つを別の構文に変換する必要があります.bashrc
。
.cshrc
別の方法の代わりに Bash で動作するようにサイトを変換するには、次のようにシステムでシェルを永久に切り替えることができます。
% chsh -s /bin/bash
別のオプションは、ホームをCシェル構文に変換してファイル.bashrc
に追加することです。.cshrc
私はこれをお勧めしません。なぜなら有害とみなされるCshプログラミング。 :)