Todos os argumentos passados para o shell script foram armazenados em $ @ , você pode fazer um loop através deles:
#!/bin/bash
echo "Example myscript"
function1() {
echo "I am function number 1"
}
function2() {
echo "I am function number 2"
}
if [ $# -eq 0 ]; then
echo "Specify a function. E.g. function1"
exit 1;
fi
for func do
[ "$(type -t -- "$func")" = function ] && "$func"
done
[ "$(type -t -- "$func")" = function ]
certifica-se de que só fazemos chamadas de função quando $func
é função.
Exemplo:
$ ./test.sh function1
Example myscript
I am function number 1
$ ./test.sh function1 function2
Example myscript
I am function number 1
I am function number 2