shell script - maneira de percorrer todas as opções [duplicado]

0

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?

    
por Allen W 18.12.2017 / 20:02

1 resposta

0

#!/bin/bash
while [[ ! -z "$1" ]]; do
    case "$1" in
        -a)
            handle_dasha
            ;;
        -b)
            and_so_on
            ;;
    esac
    shift
done
    
por 18.12.2017 / 20:08