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
Script para atualizar valores para os parâmetros gmahesh2k UNIX para Dummies Perguntas & Respostas 1 07-14-2008 10:53
Posicional parâmetros shalu @ ibm UNIX para Dummies Perguntas & Respostas 2 11-22-2007 07:58
Parâmetros posicionais ericelysia UNIX para Dummies Perguntas & Respostas 15 10-23-2005 04:11
Parâmetros posicionais google Programação Shell Script e 2 09-26-2003 02:51

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 07-16-2008
nmk nmk is offline
Usuário
  
 

Join Date: Jul 2008
Posts: 2
Redefinir a Posicional parâmetros valores

Oi,

Qualquer um pode prestar o comando Unix para redefinir o posicionamento parâmetros?

Por favor, veja o exemplo abaixo onde eu tenho que passar 2 parâmetros para Shell1.sh.

STEP1). ./Shell1.sh 2 3
executado com sucesso, então executada (próxima etapa única), o mesmo script novamente, desta vez sem parâmetros passados.

Etapa 2). ./Shell1.sh
Isto também é executado com sucesso, uma vez que considerava (valores anteriores) 2 e 3 como o posicionamento parâmetros como eu não tinha reseted eles.

Thanks in advance.
  #2 (permalink)  
Old 07-16-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Moderador
  
 

Join Date: Sep 2007
Local: Alemanha
Posts: 2.311
Eu não entendo. Como é que sei que o script da antiga parâmetros? Faça você exportá-las ou escrevê-los para o arquivo?
  #3 (permalink)  
Old 07-16-2008
nmk nmk is offline
Usuário
  
 

Join Date: Jul 2008
Posts: 2
Oi zaxxon,

Como é que sei que o script da antiga parâmetros?
Como eu sei se uma vez que os valores a atribuir esses parâmetros posicionais será mesmo permanecer até que reatribuir them.the mesmo aconteceu no meu caso também.

Faça você exportá-las ou escrevê-los para o arquivo?
Eu não sou exportador ou não escrever em um arquivo.

Eu sou novo em Unix & shell script, corrija-me se estou errado corrigir-me em cima.

Abaixo está o conteúdo de Shell1.sh:
if [$ #! \u003d 2]
então
echo "Número de parâmetros passados não igual a 2"
diferente
echo $ 1
echo $ 2
echo "Concluído"
fi


Abaixo está o fluxo de execução e sua saída:

. ./Shell1.sh 2 3
2
3
Concluído
. ./Shell1.sh
2
3
Concluído


O segundo tempo eu preciso para chegar a resultados como "Nenhum dos parâmetros passados não igual a 2", mas não foi happened.This é a razão que eu preciso saber o comando para redefinir os parâmetros posicionais, podem compartilhar o comando e se você saber.

Obrigado por sua ajuda.
  #4 (permalink)  
Old 07-16-2008
fpmurphy's Avatar
fpmurphy fpmurphy is online now Forum Staff  
Moderador
  
 

Join Data: dezembro 2003
Localização: Florida
Posts: 1.938
Esta questão foi levantada várias vezes sobre este fórum. O que você está vendo é o comportamento esperado de seu reservatório, desde que sejam dot ou seja, incluindo abastecimento Shell1.sh.
  #5 (permalink)  
Old 07-16-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Moderador
  
 

Join Date: Sep 2007
Local: Alemanha
Posts: 2.311
Agora entendo o que você quer dizer ok ...
Não há nada para redefinir como shell scripts, normalmente, não lembro de nada sem gravá-los em um arquivo ou exportadores que para o ambiente. Então não há nada para repor.
O problema com seu script é a linha
Citação:
f [$ #! \u003d 2]
que você deve tentar com


Código:
if (( $# != 2 ))

A dupla entre parêntesis tratar os valores como números (aritmética), não como cordas, por isso deve funcionar agora.

Exemplo:

Código:
root@isau02:/data/tmp/testfeld> cat script.ksh
#!/usr/bin/ksh

echo $#

if (( $# != 2 )); then
        echo "Hey! This is not 2 parameters!"
else
        echo "Everything is fine"
fi

exit 0
root@isau02:/data/tmp/testfeld> ./script.ksh  b lala
2
Everything is fine
root@isau02:/data/tmp/testfeld> ./script.ksh  b lala lal
3
Hey! This is not 2 parameters!
root@isau02:/data/tmp/testfeld> ./script.ksh  yo
1
Hey! This is not 2 parameters!


EDIT: Ah, não tinha aviso sourcing, esqueça o meu post
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 01:30.


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