1.6. 启用 Software Collection
scl 工具用于启用 Software Collection,并在 Software Collection 环境中运行应用程序。
可使用以下语法描述 scl 工具的常规用法:
scl action software_collection_1 software_collection_2 command
如果您使用多个参数运行命令,请记住将命令及其参数用引号括起来:
scl action software_collection_1 software_collection_2 'command --argument'
或者,使用 -- 命令分隔符来运行多个参数的命令:
scl action software_collection_1 software_collection_2 -- command --argument
请记住:
- 运行 scl 工具时,它会创建一个当前 shell 的子进程(subshell)。再次运行命令,然后创建 subshell 的 subshell。
- 您可以列出为当前子 shell 启用的 Software Collections。请参阅 第 1.7 节 “列出启用的 Software Collections” 了解更多信息。
- 您必须首先禁用已启用的软件集合,才能再次启用它。要禁用 Software Collection,退出启用 Software Collections 时创建的 subshell。
- 当使用 scl 工具启用 Software Collection 时,您只能对启用的软件集合执行一个操作。在执行另一个操作前,必须先禁用已启用的软件集合。
1.6.1. 直接运行应用程序
例如,要直接使用名为 software_collection_1 的 Software Collection 中的
--version
选项直接运行 Perl,请执行以下命令:
scl enable software_collection_1 'perl --version'
或者,您可以提供一个 syspaths 子软件包,以便更轻松地在 Software Collection 环境中运行命令。有关 syspaths 子软件包的详情请参考 第 3.3 节 “提供 syspaths Subpackages”。
1.6.2. 运行启用了多个 Software Collections 的 Shell
要在启用了多个 Software Collections 的环境中运行 Bash shell,请执行以下命令:
scl enable software_collection_1 software_collection_2 bash
以上命令启用两个 Software Collections,名为 software_collection_1 和 software_collection_2。
1.6.3. 运行存储在文件中的命令
要执行存储在 Software Collection 环境中的多个命令,请运行以下命令:
cat cmd | scl enable software_collection_1 -
以上命令执行命令,该命令存储在名为 software_collection_1 的软件集合的
cmd
文件中。