I have a simple bash command, which does some stuff and at some point tried to delete everything except a few things. When running inside a script, it fails. But when I try to run it again, it works.
This is my bash
command:
#! /bin/bash
set -e
cd spaceship-go
git checkout master
git pull origin master
mdbook build
cd ..
rm -rf -v !("spaceship-go"|"build-book.sh")
mv spaceship-go/book/* .
rm -rf spaceship-go/book
The output I get is:
blas@f1:~/projects/spaceship-go-gh-pages$ ./build-book.sh
Already on 'master'
Your branch is up to date with 'origin/master'.
From https://github.com/blasrodri/spaceship-go
* branch master -> FETCH_HEAD
Already up to date.
2020-06-13 13:27:52 [INFO] (mdbook::book): Book building has started
2020-06-13 13:27:52 [INFO] (mdbook::book): Running the html backend
./build-book.sh: 9: Syntax error: "(" unexpected
However, when running it manually on my terminal it doesn't break:
blas@f1:~/projects/spaceship-go-gh-pages$ rm -rf -v !("spaceship-go"|"build-book.sh")
blas@f1:~/projects/spaceship-go-gh-pages$ echo $?