The scl application is delivered with the scl-utils package. The scl-utils package should have been installed as a dependency of devtoolset-7-gcc.
I think I see what happened though, if you have your full output from when you ran yum install centos-release-scl scl-utils-build devtoolset-7-gcc*, you may notice a line No package devtooset-7-gcc* available.
This would be due to trying to install an additional repository and a package from that repository at the same time (the other two packages should have installed fine though). YUM does not work like that, as the new repository metadata would not be built until the next run of YUM and would not be available in the same transaction that installed the repository.
If you separate your install command into two commands, YUM should be able to install the devtoolset-7-gcc* packages:
yum install centos-release-scl scl-utils-build
yum install devtoolset-7-gcc\*
Answer from GracefulRestart on Stack Exchangeusing scl enable actually opens a new shell inside your current one, which is quite unclean, especially if done from a login script.
You should place, instead, in your ~/.bash_profile:
source /opt/rh/rh-nginx18/enable
or:
source scl_source enable rh-nginx18
The latter is more "elegant" as it is independent from the actual installation path.
This has the effect of loading the environment in your current shell.
Redhat proposes placing a file in /etc/profile.d, i.e. for python:
$ cat /etc/profile.d/enablepython33.sh
#!/bin/bash
source scl_source enable python33
As this works for the devtools under centos for me you could try this.