The UNIX and Linux Forums  
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.

Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Code Forstått? varungupta UNIX for Advanced & ekspertbrukere 2 05-02-2008 07:34
Kan ikke forstå sar kommandoen shaan_dmp UNIX for Dummies Spørsmål og svar 1 10-23-2007 07:04
kan ikke forstå dette i det hele tatt. severndigital UNIX for Dummies Spørsmål og svar 4 02-21-2007 12:21
kan ikke forstå BoyArcher UNIX for Dummies Spørsmål og svar 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 Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 05-24-2007
dhanamurthy dhanamurthy is offline
Registrert bruker
  
 

Bli Dato: juni 2006
Innlegg: 105
Lyst til å forstå betydningen av følgende linje

Hei alle
Du finner koden nedenfor fra et skript som heter test.sh

echo "Hello World"
. test_common.lib
get_info


i filen test_common.lib Jeg har følgende innhold

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

når jeg kjører scriptet test.sh

Jeg får en feilmelding

test.sh: linje 3: get_info: kommandoen ikke funnet

Først av alt vil jeg gjerne vite hvordan denne linjen fungerer
"test_common.lib"


Hilsen
Dhanamurthy
  #2 (permalink)  
Old 05-24-2007
anbu23 anbu23 is offline Forum Advisor  
Registrert bruker
  
 

Bli Date: Mar 2006
Beliggenhet: Bangalore, India
Innlegg: 1398
Code:
. test_common.lib
Eksekverer test_common.lib i samme skall, slik at du kan få tilgang til variabler og funksjoner definert på den.

Hva du gjør er riktig. Sjekk om test_common.lib i test.sh katalogen inneholder definisjonen av denne funksjonen?
  #3 (permalink)  
Old 05-24-2007
blowtorch's Avatar
blowtorch blowtorch is offline Forum Advisor  
Støttespiller
  
 

Bli Dato: desember 2004
Sted: Singapore
Innlegg: 2350
Hva skallet bruker du til dette? Jeg prøvde dette med sh, ksh og bash, og samarbeidet med alle tre. Jeg måtte gjøre en endring om:
Code:
#!/usr/bin/bash

echo "Hello World"
. ./test_common.lib
get_info
Uten ". /" Det var å gi en ". / Test.sh: test_common.lib: Finner ikke" feil under sh og ksh.

Som for forklaring på hvordan ". Test_common.lib" linjen fungerer, her er hvordan:

Når du kjører. test_common.lib, eller i mitt tilfelle. . / test_common.lib, erklæringene i test_common.lib filen er behandlet i ringer shell selv, i motsetning til når du bare kjøre. / test_common.lib (dette gafler en egen prosess). Fordi ringer shell behandler disse, påstander som variabel definisjoner, funksjon definisjoner, osv. lagres i ringer shell og er tilgjengelig for senere bruk.

Håper det var klart (selv om det sannsynligvis ikke er).
  #4 (permalink)  
Old 05-24-2007
aigles's Avatar
aigles aigles is offline Forum Advisor  
Registrert bruker
  
 

Bli Dato: april 2004
Sted: Bordeaux, Frankrike
Innlegg: 1420
Sitat:
Originally Posted by blowtorch
Hva skallet bruker du til dette? Jeg prøvde dette med sh, ksh og bash, og samarbeidet med alle tre. Jeg måtte gjøre en endring om:
Code:
#!/usr/bin/bash

echo "Hello World"
. ./test_common.lib
get_info
Uten ". /" Det var å gi en ". / Test.sh: test_common.lib: Finner ikke" feil under sh og ksh.
Fungerer fint hvis "." er inkludert i PATH, for eksempel:
Code:
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:.
Jean-Pierre.
  #5 (permalink)  
Old 05-24-2007
blowtorch's Avatar
blowtorch blowtorch is offline Forum Advisor  
Støttespiller
  
 

Bli Dato: desember 2004
Sted: Singapore
Innlegg: 2350
Ja, jeg vet det, men jeg aldri har "." i min bane ...
  #6 (permalink)  
Old 05-24-2007
dhanamurthy dhanamurthy is offline
Registrert bruker
  
 

Bli Dato: juni 2006
Innlegg: 105
Linjen
. test_common.lib men utfører lykkes i skriptet, den get_info funksjonen er ikke i stand til å utføre som definisjon for get_info ikke er gjort tilgjengelig.
Når jeg kjørte. . / test_common.lib.

Det står fortsetter videre ved å kalle opp funksjonen.
Jeg bruker bash skripting.

Ikke sikker på hvordan denne linjen fungerer.

Takk for innspill.


Hilsen
Dhanamurthy
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 04:28.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0