I'm new to shell scripting and stuck with this - I tried this if clause:
if [ unrar l "$filename" | grep -P "\.(?:r\d\d|r\d\d\d|.rar)$ ];
then...
It's not working, so tried this debug output - I get no output to $grep_output
:
$grep_output = unrar l "$filename" | grep -P "\.(?:r\d\d|r\d\d\d|.rar)$"
If I execute this directly on the shell it's working without any problems:
unrar l "$filename" | grep -P "\.(?:r\d\d|r\d\d\d|.rar)$
Where is my mistake? Thanks in Advance!
Remove the square brackets; these are not part of the syntax of the if
statement, but an alternative way of invoking the test
command, usually in order to use a binary operator:
if unrar l "$filename" | grep -P "\.(?:r\d\d|r\d\d\d|.rar)$";
then...
fi
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With