#、$、および -l コマンドは何に使用されますか?

#、$、および -l コマンドは何に使用されますか?

また、以下は私が受け取った.batファイルの一部です。ファイルの種類がWindowsスクリプト用であると思いましたが、以下はUnixシェルスクリプトではありませんか?それでは、このファイルと.shファイルの違いは何ですか?

#PBS  -l mem=900mb,walltime=25000:00:00,cput=25000:00:00,nodes=1:ppn=1
cd $PBS_O_WORKDIR

./sample_file.x > tmp

ベストアンサー1

これはシェルスクリプトファイルです(「shファイル」と呼ばれます)。ただし、次のディレクティブも含まれています。PBSスケジューラ。これは、複数のユーザーがジョブを送信できる必要がある高性能クラスターで頻繁に検出されるシステムで、ジョブは待機中のシステムにデプロイされ、リソースが使用可能になったときに開始されます。

通常、シェルスクリプトでaで始まるすべての行は#コメントであり、シェルスクリプトインタプリタ(bashなど)では無視されます。これはコードに注釈を付けるときに最も一般的に使用されますが、注目すべき1つの例外は次のとおりです。シェルボーンライン(たとえば#!/bin/bash)はシェルインタプリタ(で始まる)によって無視されますが、#カーネルはそれを読み、スクリプトを提供する必要があるインタプリタを決定します。

PBSは同様のアプローチを使用します。#PBSPBSは、シェルスクリプトで説明されている操作のパラメータを設定するとコメントを読み取ります。したがって、次の行は次のようになります。

#PBS  -l mem=900mb,walltime=25000:00:00,cput=25000:00:00,nodes=1:ppn=1

さまざまなオプションの意味にかかわらず、900Mメモリを使用する単一ノードでこのプログラムを実行するようにPBSに指示します。

最後に、これはcd $PBS_DIRECTORY一般的なシェルコマンドです。$PBS_DIRECTORY操作を実行する必要があるディレクトリを指すように設定されていると推定される変数。したがって、スクリプトの最初のステップは、cdそのディレクトリに移動してsample_file.xそのディレクトリにあるスクリプトを実行することです。

詳細については、使用しているPBSクラスタの管理者にお問い合わせください。

おすすめ記事