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:
scl action software_collection_1 software_collection_2 command
scl action software_collection_1 software_collection_2 command
If you are running a
command
with multiple arguments, remember to enclose the command and its arguments in quotes:
scl action software_collection_1 software_collection_2 'command --argument'
scl action software_collection_1 software_collection_2 'command --argument'
Alternatively, use a
--
command separator to run a command
with multiple arguments:
scl action software_collection_1 software_collection_2 -- command --argument
scl action software_collection_1 software_collection_2 -- command --argument
Remember that:
- 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 Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
For example, to directly run Perl with the
--version
option in the Software Collection named software_collection_1, execute the following command:
scl enable software_collection_1 'perl --version'
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 Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
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
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 Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
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 -
cat cmd | scl enable software_collection_1 -
The command above executes commands, which are stored in the
cmd
file, in the environment of the Software Collection named software_collection_1.