Issue
I need to check if a commandline argument matches the one in a bash script, here is my code.
#!/bin/bash
# lets call this script.sh
myFunction() {
if [[ $2 == '--log' ]]; then
echo "hello world" >> file.log
else
echo "Unknown argument"
fi
}
myFunction
Sample input:
bash script.sh --log
But doesn't seem to write anything into file.log
Solution
You will need to pass the script's arguments to myFunction
:
myFunction "$@"
The "$@"
means "all the arguments passed to this script."
Answered By - Hai Vu