The UNIX and Linux Forums  

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
g + + e-R opção eternalflame Alto Nível de programação 0 04-14-2008 02:57
opção-n Ravi raj kumar Programação Shell Script e 1 01-03-2008 09:20
ps: 65535 é um argumento inválido não numéricos para a opção-p gogogo Sun Solaris 5 11-19-2006 06:20
su opção lesstjm UNIX & avançada para usuários experientes 1 11-02-2005 01:54
cortar a opção-f 435 Gavea UNIX para Dummies Perguntas & Respostas 1 11-10-2003 05:50

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 03-17-2008
gurukottur gurukottur is offline
Usuário
  
 

Join Date: Apr 2006
Lugares: 40
opção seguida por: tomada próxima opção se argumento ausente com getopts

Oi tudo,

Estou a analisar opções de linha de comando usando getopts.

O problema é que o argumento obrigatório opções seguintes ":" se está a próxima opção como argumento, se não for seguido por qualquer argumento.
Abaixo está o script:

enquanto getopts: hd: t: s: l: f: opt
fazer
caso "$ opt" em
-h | - \?) utilização;
-d) DEBUG \u003d true; exportação SCRIPT_LOG_LEVEL \u003d DEBUG;
-t) DEVTYPE \u003d "$ optarg";

-s) SIG_IP \u003d "$ optarg"; exportação SOCKS5_SERVER \u003d "$ optarg: 9001";
-l) HOST_LOGIN \u003d "$ optarg";

-p) PASSWORD \u003d "$ optarg";

-f) cl_cfile_specd \u003d 1
exportação RUNNING_CONFIG_FILE \u003d "$ optarg";

*) Logmsg "Unrecognized param uso";
esac
feito
se eu executar o script como:
$. / script.sh-d-s-t rdsk guru 12.3.4.5-l-p-f / usr / local / sc.conf
a opção-p-f está tomando como argumento.

Por favor, ajudem-me a jogar um erro e sair do script se obrigatória argumento não é passado para o script.

Também a forma de lidar com as opções tendo - ou seja - logfile.

Por favor ajudem com o problema acima
  #2 (permalink)  
Old 03-17-2008
drl's Avatar
DRL drl is offline Forum Advisor  
Usuário
  
 

Join Date: Apr 2007
Localização: Saint Paul, MN E.U.A. / BSD, CentOS, Debian, Mac OS X, Solaris
Lugares: 717
Oi.

Como deve getopts sabemos que a string "-f" não é um valor apropriado para o argumento da opção "-p"? ... cheers, DRL

No PS getopts Eu uso, o caso não deveria ter Selectores líder "-" caracteres.

PPS Observe também que você tiver definido "d", mas não uso optarg no caso selector para "-d".

Última edição por DRL; em 03/17/2008 12:36..
  #3 (permalink)  
Old 03-17-2008
era
Convidado
  
 

Posts: n / a
Bits: 0 [Bancária]
Como uma observação sobre a concepção, talvez eles não devem ser "opções" se eles são obrigatórios.

Após o ciclo while, verifique se a senha ou ficheiro de configuração é um unset, e morrer se for?

Eu não acredito que há uma forma padrão para obter longo opções com getopts, você pode rolar o seu próprio bem.


Código:
while :
do
  case $# in 0) break;; esac
  case $1 in 
    -h|-\?|--help) usage;;
    -d|--debug) DEBUG=true;export SCRIPT_LOG_LEVEL=DEBUG; shift ;;
    -t|--type) DEVTYPE="$2"; shift; shift ;;
    -s|--socks) SIG_IP="$2"; export SOCKS5_SERVER="$2:9001"; shift; shift ;;
    -l|--login) HOST_LOGIN="$2"; shift; shift;;
    -p|--password) PASSWORD="$2"; shift; shift ;;
    -f|--config-file) cl_cfile_specd=1
        export RUNNING_CONFIG_FILE="$2"; shift; shift ;;
    -*) logmsg "Unrecognized param usage";;
  esac
done

Tornando morrer graciosamente quando uma opção que exige um argumento não receber nenhuma (ou seja, $ 2 não é fixado em todos) é deixada como um exercício. O problema de ver que $ 2 é a próxima opção é inteligência artificial (ou você pode inventar um mecanismo separado para especificar um argumento que começa com o traço, de modo que você pode proibir opção argumentos para começar com um hífen no caso geral. Não sei, Não sei se isso é bom ou mau uso).
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 06:07.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0