1.6. ソフトウェアコレクションの有効化

scl ツールは、Software Collection を有効にし、Software Collection 環境でアプリケーションを実行するために使用されます。
scl ツールの一般的な使用方法は、以下の構文を使用して記述できます。
 scl action software_collection_1 software_collection_2 command 
command を複数の引数で実行している場合は、コマンドとその引数を引用符で囲むようにしてください。
 scl action software_collection_1 software_collection_2 'command --argument' 
または、-- コマンド区切り文字を使用して、複数の引数を指定して command を実行します。
 scl action software_collection_1 software_collection_2 -- command --argument 

以下の点に留意してください。

  • scl ツールを実行すると、現在のシェルの子プロセス (subshell) を作成します。コマンドを再度実行すると、サブシェルのサブシェルが作成されます。
  • 現在のサブシェルの有効な Software Collections を一覧表示できます。詳細は、「有効な Software Collections の一覧表示」 を参照してください。
  • 最初に有効な Software Collection を無効にして、再度有効にする必要があります。Software Collection を無効にするには、Software Collections を有効にする際に作成したサブシェルを終了します。
  • scl ツールを使用して Software Collection を有効にする場合は、一度に有効な Software Collection で 1 つのアクションのみを実行できます。別のアクションを実行する前に、有効な Software Collection を無効にする必要があります。

1.6.1. アプリケーションの直接的な実行

たとえば、software_collection_1 という名前の Software Collection で、--versions オプションで Perl を直接実行するには、次のコマンドを実行します。
 scl enable software_collection_1 'perl --version' 
または、Software Collection 環境でコマンドを実行することをより便利にする syspaths サブパッケージを指定します。syspaths サブパッケージの詳細は、「syspaths サブパッケージの提供」 を参照してください。

1.6.2. 複数の Software Collections が有効になっているシェルの実行

複数の Software Collections が有効になっている環境で Bash シェルを実行するには、次のコマンドを実行します。
 scl enable software_collection_1 software_collection_2 bash 
上記のコマンドは、software_collection_1 および software_collection_2 という名前の 2 つの Software Collections を有効にします。

1.6.3. ファイルに保存されたコマンドの実行

ファイルに保存されたコマンドを多数実行するには、Software Collection 環境内で以下のコマンドを実行します。
 cat cmd | scl enable software_collection_1 - 
上記のコマンドは、software_collection_1 という名前の Software Collection の環境にある cmd ファイルに保存されているコマンドを実行します。