#!/bin/bash
while [[ ! -z "$1" ]]; do
case "$1" in
-a)
handle_dasha
;;
-b)
and_so_on
;;
esac
shift
done
Eu sou novo no shell script e tive a seguinte situação. Eu tenho um script perl que tem várias opções. Nem todas as opções são necessárias.
example.prl [options]
options:
-h help
-o filename output file name
-f force output file overwrite
-d debug mode
...
Eu quero criar um script de shell para analisar as opções para o script prl. E as opções não são todas obrigatórias, por exemplo:
./example.sh -o output_file
OR
./example.sh -o output_file -f
Aqui estão alguns dos meus progressos, mas funcionam apenas com 1 argumento:
#!/bin/bash
path=/proj/scripts/example.prl
option=$1
option_value=$2
echo "The command to run:"
echo $path $name $option
$path $option $option_value
Existe uma maneira de percorrer todas as opções colocadas pelo usuário e construir o comando?
#!/bin/bash
while [[ ! -z "$1" ]]; do
case "$1" in
-a)
handle_dasha
;;
-b)
and_so_on
;;
esac
shift
done
Tags bash shell-script