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
ファイルに保存されているコマンドを実行します。