CentOSがインストールされているVMWare仮想マシンを使用しています。
現在BASHシェルを使用していますが、Cシェルを必要とするアプリケーションを実行する必要があります。
一人で自分のシェルを変更できますか?すべてのソフトウェアを再インストールする必要がありますか?既存のソフトウェアは動作しますか?シェルを変更するのはとても簡単ですか?
必要なプログラムにはCシェルで書かれたインストールスクリプトがあり、プログラムを実行するにはCシェルが必要です。
答え1
申請書(正しい)はそうではありません必要Cシェル、csh構文を使用するラッパースクリプトにはCシェルが必要です。この場合、最初の行は次のようになります。
#!/bin/csh
または
#!/bin/tcsh
または同様です。
ログインシェルをcshに切り替えることなく、bashでこのスクリプトを実行できます。
答え2
chsh
CentOSシステムにデフォルトでインストールされているユーティリティを使用して、ユーザーのシェルを簡単に変更できます。構文は次のとおりです。
chsh -s /bin/csh OR /bin/tcsh
これを行う前に、システムにC Shellがインストールされていることを確認してください。/etc/shells
/ bin/csh
(または/bin/tcsh
)として表示する必要があります。そこにいない場合は、次のようにしてインストールできると確信しています。yum install tcsh
(私のUbuntu 16.04 LTSでは、次のように動作しますcsh
。)
これらの変更を適用するには、システムから完全にログアウトしてから再度ログインする必要があります。
実行するスクリプトの場合は、スクリプトの上部にshebangヘッダーを追加するか、#!/bin/tcsh
.txt#!/bin/csh
で利用可能な名前に基づいてshebangヘッダーを追加します/etc/shells
。shebang header
スクリプトの最初の行です。
答え3
exec tcsh
現在実行中のシェルをtcsh
。exec bash
bash
source foo.cshrc
% exec bash
bash-4.2$ exec tcsh
$ exec zsh
%
ソフトウェアが動作しているかどうかは、詳細な情報なしで答えにくい質問です(参照:質問を停止)
chsh
他の人が指摘したように、シェルの変更はより恒久的である可能性があります。