Shell scripting is a broad term that inlcudes scripting for various Unix/Linux shells, including Bash scripting. You can run a Bash script (written specifically for the Bash shell) on a Linux shell, but a generic shell script may not always run on Bash if it uses features specific to another shell. Bash is a subset of shell scripting.