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
Código Entender? varungupta UNIX & avançada para usuários experientes 2 05-02-2008 08:34
Não é possível compreender comando sar shaan_dmp UNIX para Dummies Perguntas & Respostas 1 10-23-2007 08:04
não pode compreender isso em todos. severndigital UNIX para Dummies Perguntas & Respostas 4 02-21-2007 12:21
não pode compreender BoyArcher UNIX para Dummies Perguntas & Respostas 5 03-14-2006 09:36

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 05-24-2007
dhanamurthy dhanamurthy is offline
Usuário
  
 

Join Date: Jun 2006
Lugares: 105
Quer compreender o significado da linha a seguir

HI Todos
Veja abaixo o código de um script chamado test.sh

echo "Olá Mundo"
. test_common.lib
get_info


no arquivo test_common.lib Tenho o seguinte conteúdo

get_info ()
(
c_cnt \u003d 0;
cm \u003d "";
echo "Dentro get_info"
)

quando eu executar o script test.sh

Eu recebo uma mensagem de erro

test.sh: linha 3: get_info: comando não encontrado

Primeiro de tudo, gostaria de saber como é que esta linha comporta
"test_common.lib"


Atenciosamente
Dhanamurthy
  #2 (permalink)  
Old 05-24-2007
anbu23 anbu23 is offline Forum Advisor  
Usuário
  
 

Join Date: Mar 2006
Local: Bangalore, Índia
Mensagens: 1.398

Código:
. test_common.lib

Executa test_common.lib no mesmo reservatório, para que você pode acessar variáveis e funções definidas no mesmo.

O que você está fazendo é correto. Verifique se test_common.lib no diretório contém test.sh definição dessa função?
  #3 (permalink)  
Old 05-24-2007
blowtorch's Avatar
maçarico blowtorch is offline Forum Advisor  
Adepto
  
 

Join Data: dezembro 2004
Local: Singapura
Posts: 2.350
O que você está usando shell para isso? Eu tentei isso com sh, ksh e bash, e ele trabalhou com todos os três. Eu tive que fazer uma modificação entanto:

Código:
#!/usr/bin/bash

echo "Hello World"
. ./test_common.lib
get_info

Sem o ". /" Ele estava a dar um ". / Test.sh: test_common.lib: não encontrado" erro sob sh e ksh.

Quanto à explicação de como o ". Test_common.lib" linha funciona, aqui está como:

Quando você executa. test_common.lib, ou no meu caso. . / test_common.lib, as declarações no arquivo test_common.lib são processados dentro do próprio reservatório apelando, ao contrário de quando você acaba de ser executado. / test_common.lib (este forquetas um processo separado). Porque a chamada casca processos destes, quaisquer declarações, tais como definições variável, função definições, etc são armazenados na chamada casca e estão disponíveis para uso posterior.

Esperança de que era evidente (embora isso provavelmente não é).
  #4 (permalink)  
Old 05-24-2007
aigles's Avatar
aigles aigles is offline Forum Advisor  
Usuário
  
 

Join Date: Apr 2004
Location: Bordeaux, França
Mensagens: 1.429
Citação:
Originally Posted by maçarico
O que você está usando shell para isso? Eu tentei isso com sh, ksh e bash, e ele trabalhou com todos os três. Eu tive que fazer uma modificação entanto:

Código:
#!/usr/bin/bash

echo "Hello World"
. ./test_common.lib
get_info

Sem o ". /" Ele estava a dar um ". / Test.sh: test_common.lib: não encontrado" erro sob sh e ksh.
Funciona bem se "." está incluído na variável PATH, por exemplo:

Código:
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:.

Jean-Pierre.
  #5 (permalink)  
Old 05-24-2007
blowtorch's Avatar
maçarico blowtorch is offline Forum Advisor  
Adepto
  
 

Join Data: dezembro 2004
Local: Singapura
Posts: 2.350
Sim, eu sei, mas eu nunca ter "." no meu caminho ...
  #6 (permalink)  
Old 05-24-2007
dhanamurthy dhanamurthy is offline
Usuário
  
 

Join Date: Jun 2006
Lugares: 105
A linha
. test_common.lib embora executa com êxito no script, o get_info função não é capaz de executar tal como a definição de get_info não está disponível.
Quando eu corria. . / test_common.lib.

É processo ainda ao chamar a função.
Estou usando o bash scripting.

Não tem certeza de como esta linha comporta.

Obrigado pela sua produção.


Atenciosamente
Dhanamurthy
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 10:41.


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