1.6. Enabling a Software Collection
The scl tool is used to enable a Software Collection and to run applications in the Software Collection environment.
General usage of the scl tool can be described using the following syntax:
sclaction software_collection_1 software_collection_2 command
If you are running a
commandwith multiple arguments, remember to enclose the command and its arguments in quotes:
sclaction software_collection_1 software_collection_2 'command --argument'
Alternatively, use a
--command separator to run a
commandwith multiple arguments:
sclaction software_collection_1 software_collection_2 -- command --argument
- When you run the scl tool, it creates a child process (subshell) of the current shell. Running the command again then creates a subshell of the subshell.
- You can list enabled Software Collections for the current subshell. See Section 1.7, “Listing Enabled Software Collections” for more information.
- You have to disable an enabled Software Collection first to be able to enable it again. To disable the Software Collection, exit the subshell created when enabling the Software Collections.
- When using the scl tool to enable a Software Collection, you can only perform one action with the enabled Software Collection at a time. The enabled Software Collection must be disabled first before performing another action.
1.6.1. Running an Application Directly
For example, to directly run Perl with the
--versionoption in the Software Collection named software_collection_1, execute the following command:
scl enable software_collection_1 'perl --version'
Alternatively, you can provide a syspaths subpackage that makes it more convenient to run commands in the Software Collection environment. For more information on syspaths subpackages, see Section 3.3, “Providing syspaths Subpackages”.
1.6.2. Running a Shell with Multiple Software Collections Enabled
To run the Bash shell in the environment with multiple Software Collections enabled, execute the following command:
scl enable software_collection_1 software_collection_2 bash
The command above enables two Software Collections, named software_collection_1 and software_collection_2.
1.6.3. Running Commands Stored in a File
To execute a number of commands, which are stored in a file, in the Software Collection environment, run the following command:
cat cmd | scl enable software_collection_1 -
The command above executes commands, which are stored in the
cmdfile, in the environment of the Software Collection named software_collection_1.