bashアカウントが機能しないRHEL 7でcshrcスクリプトを実行する

bashアカウントが機能しないRHEL 7でcshrcスクリプトを実行する

.cshrcベースのスクリプトを取得しましたcshrc。これにより、ユーザーはsetup.cshrcファイルを取得し、その中に別の.cshrcスクリプトをインポートして、Fortranで書かれたいくつかの古いプログラムをコンパイルして実行できる環境を設定する必要があります。

私はRHEL 7.9 x86-64を実行していますが、著者は/usr/bin/cshすべてが正しく実行されるようにユーザーアカウントを作成するか、ユーザーアカウントを変更するように言いました。 これは本当に必要ですか?

Bashシェルでこれらのcshインストールファイルを実行すると、すべての試みは失敗します。ただし、/etc/passwdLinuxでローカルユーザーアカウントを作成すると、私に提供されているすべてのcshスクリプトを実行する/usr/bin/cshと機能します。/usr/bin/bashしかし、私は私のすべてのLinuxアカウント(私のアカウントを含む)が 。私のアカウントを維持しながらこのスクリプトを実行するbash方法はありますか?bashcsh

答え1

  • 通常csh、インストールファイルを実行することも、実行しないこともあります(実際にはスクリプトの内容によって異なります)。tcshbashcsh

  • (シェル)スクリプトの規則に従って、ファイルの最初の行にsetup.cshrcshebang#!/bin/cshまたは#!/bin/tcshそのバリエーションが正しく装着されている場合は、対応する通訳者が必要です。そのシェル環境が呼び出され、スクリプトが正しく実行されるようにします。

出力される場合chsh -l 含む /bin/csh、または次を/bin/tcsh試してください。

$ /bin/csh setup.cshrc         # replace csh by tcsh if needed

出力される場合chsh -l 含まれていません /bin/cshまたはシステムにインストールしてください/bin/tcshtcsh

$ sudo yum install tcsh
$ cat /etc/shells       # < check that output includes /bin/tcsh 

その後、上記のようにシェルで実行できます。

$ tcsh setup.cshrc

または、現在のアカウントのデフォルトのログインシェルを一時的に次のように変更しますtcsh

$ chsh -s tcsh

そこから設定を実行してください。

関連情報