Hi Wiggins,
Maybe the '#!' on line 1 isn't run?
That seems to be the case because the line doesn't begin with #!, it begins with the whitespace of the indentation. AFAIK Perl uses /bin/sh to execute backticks, and so it seems your shell script is run with /bin/sh instead of bash, and I guess sh doesn't have the [[ builtin. Remove the indentation and your code works for me.
However, why use a bash script at all, when you could just do all the stuff your bash script is doing in Perl? If you want to capture external commands' STDOUT and STDERR, I'd suggest something like IPC::Run3 or Capture::Tiny.
Hope this helps,
-- Hauke D
In reply to Re: Back-ticks and bash
by haukex
in thread Back-ticks and bash
by Wiggins
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |