Take the 2-minute tour ×

Correct me if I'm wrong:

  • "sh" script != "bash" script
  • Linux script are written in Bash
  • Bash script usually #!/bin/sh
  • In GNU/Linux, /bin/sh is Bash
  • In FreeBSD, /bin/sh is not bash, it's the true sh

So if I want to use a Linux script in FreeBSD, and I run ./script.sh in the shell, it will run the Bash script in "sh" and not Bash, since /bin/sh in FreeBSD is not Bash.

Is there a way I could run those Bash scripts, without modifying it? So no modification to the #!/bin/sh statement in the script file to point somewhere else?

I would like to run Bash script trough Zsh, if possible. Don't want to install Bash, and since Zsh can run Bash scripts...

share|improve this question

1 Answer 1

up vote 2 down vote accepted

You can call your favorite shell with the script as a parameter.

bash ./script.sh
share|improve this answer
"Don't want to install Bash" - OP doesn't want to run bash. –  Mat Aug 5 '12 at 13:01
well it could be zsh too, thats why i wrote "favorite shell" –  arved Aug 5 '12 at 13:48
But, without calling the program bash (or zsh) with a script as an argument? In the last resort, I could do that, but the ./filetoexecute.sh is faster to write, than bash filetoexecute.sh or zsh filetoexecute.sh. Also, Strange the way you say it... bash ./something... Never saw someone using the ./ as an argument –  user1115057 Aug 5 '12 at 15:36
Another option would be to modify your system to install zsh as /bin/sh. –  arved Aug 5 '12 at 16:19

Your Answer


