1.6. Enabling a Software Collection
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 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' Alternatively, use a -- command separator to run a command with multiple arguments: 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 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' 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 cmd file, in the environment of the Software Collection named software_collection_1 .