CentOSとUnixシェルの切り替え

CentOSとUnixシェルの切り替え

CentOSがインストールされているVMWare仮想マシンを使用しています。

現在BASHシェルを使用していますが、Cシェルを必要とするアプリケーションを実行する必要があります。

一人で自分のシェルを変更できますか?すべてのソフトウェアを再インストールする必要がありますか?既存のソフトウェアは動作しますか?シェルを変更するのはとても簡単ですか?

必要なプログラムにはCシェルで書かれたインストールスクリプトがあり、プログラムを実行するにはCシェルが必要です。

答え1

申請書(正しい)はそうではありません必要Cシェル、csh構文を使用するラッパースクリプトにはCシェルが必要です。この場合、最初の行は次のようになります。

#!/bin/csh

または

#!/bin/tcsh

または同様です。

ログインシェルをcshに切り替えることなく、bashでこのスクリプトを実行できます。

答え2

chshCentOSシステムにデフォルトでインストールされているユーティリティを使用して、ユーザーのシェルを簡単に変更できます。構文は次のとおりです。

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/shellsshebang headerスクリプトの最初の行です。

答え3

exec tcsh現在実行中のシェルをtcshexec bashbashsource foo.cshrc

% exec bash
bash-4.2$ exec tcsh
$ exec zsh
% 

ソフトウェアが動作しているかどうかは、詳細な情報なしで答えにくい質問です(参照:質問を停止)

chsh他の人が指摘したように、シェルの変更はより恒久的である可能性があります。

関連情報