Using the pattern match !("file1")
does not work within a bash script but will work on the command line.
For example:
ls !("file1"|"file2")
This will list all files in directory except file1
and file2
.
When that line is executed in a script this error is displayed:
./script.sh: line 1: syntax error near unexpected token `('
./script.sh: line 1: ` ls !("file1"|"file2") '
Regardless what is used rm -v !("file1")
. The same error takes place. What is going on here why does this not work in a script?
source script.sh
– Spinous