`.sh` と `.csh` の違い

`.sh` と `.csh` の違い

Intel Parallel Studio をインストールしたばかりで、ターミナルがコンパイラなどを見つけられるようにシステム変数を設定したいと思います。

インストールガイド付属のセットアップ スクリプトを実行したり、bash プロファイルにスクリプトを含めたりするように指示します。これは便利です。

ただし、常に次のように書かれています。

コンパイラを使用する前に環境変数を設定します。source コマンドを使用して、シェル スクリプトのコンパイラ変数を実行できます。シュまたはコンパイラ変数。シェル

しかし、いずれにしても、2 つのバリアントの違いは説明されていません。また、オンラインの他の場所では、2 つのファイル拡張子の比較を見つけることができません。

私が推測できる唯一のことは、.csh次の行から、ファイルが Mac OSX 固有のものであるということです。

Linux*およびOS X*では、ファイルはcompilervars.shまたはcompilervars.cshと呼ばれるシェルスクリプトです。

何かを実行する前に詳細を知りたいです。

答え1

.shshは、Bourne シェル ( ) または Bourne Again シェル ( )のスクリプトを示しますbash。これは通常、その前身のスーパーセットです。

.cshはC シェル ( ) のスクリプトを示していますcsh。これはシェルであるため、大部分は似ていますが、一連の静的コマンドを実行するよりもはるかに複雑な操作を開始すると、大きく異なります。

どちらのシェルも、一般的にはどの POSIXy 環境でも使用可能であり、実際には両方ともプリインストールされていることが多いのですが、私の経験ではbash、 (およびその類似のsh)の方がやや普及しています。

上記で「指示的」と言ったのは、ファイル拡張子という概念は技術的には存在せず、意味論的または構文的な意味を持たないためです。ファイルはscript.steveまたはdocumentation.exeまたは という名前が付けられていinclude.hても、実際にはシェル スクリプトである可能性があります。より確実な確認のために、ファイルの最初の行を見てください。直接実行されるように設計されたスクリプトの場合、シェバン行で始まる必要があります。シェバン行は、シャープ ( #)、感嘆符 ( !)、およびスクリプトを実行する実行可能ファイルへのパスで始まります。例:

#!/usr/local/bin/bash

または

#!/usr/bin/python3

関連情報