To run a bash script (Example: bash-script.sh) from inside a perl script, you could use the following syntax:
Note: Here, once the bash script completes execution it will continue with the execution of the perl script.
Perl Script: perl-script.pl
Bash Script: bash-script.sh
Below is a perl script “perl-script.pl” which calls an external bash script “bash-script.sh”.
#!/usr/bin/perl use strict; use warnings; print "Running parent perl script. \n"; print "Starting to call external bash script\n"; # Sample Argument to be passed to the bash script my $my_arg = "ARG1"; # With arguments - pass them inside quotes seperated by commas system("sh", "bash-script.sh","$my_arg"); print "Back to parent perl script\n";
Below is the sample “bash-script.sh” which prints the variable.
#!/bin/bash echo "---Start of Bash script---" a=$1 echo "Argument from Perl script is" $a
To test, execute the perl script: