It is possible to pass variables into a SLURM job when you submit the job using the –export flag. For example to pass the value of the variables A and b into the job script named jobscript.sbatch you can use:
sbatch --export=A=5,b='test' jobscript.sbatch
sbatch --export=ALL,A=4,b='test' jobscript.sbatch
The first example will replace the user's environment with a new environment containing only values for A and b and the SLURM_* environment variables. The second will add the values for A and b to the existing environment.
SLURM does not support using variables in the #SBATCH lines within a job script. However, values passed from the command line have precedence over values defined in the job script. So the job name and output/error files can be passed on the sbatch command line:
A=5 b='test' sbatch --job-name=$A.$b.run --output=$A.$b.out --export=A=$A,b=$b jobscript.sbatch