The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Kod Förstått? varungupta UNIX för avancerade & Expertanvändare 2 05-02-2008 07:34
Kan inte förstå sar kommandot shaan_dmp UNIX for Dummies Frågor & Svar 1 10-23-2007 07:04
kan inte förstå det här alls. severndigital UNIX for Dummies Frågor & Svar 4 02-21-2007 12:21
kan inte förstå BoyArcher UNIX for Dummies Frågor & 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 denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 05-24-2007
dhanamurthy dhanamurthy is offline
Registered User
  
 

Join Date: juni 2006
Inlägg: 105
Vill du förstå innebörden av följande rad

HI Alla
Du hittar koden nedan från ett skript som kallas test.sh

echo "Hej världen"
. test_common.lib
get_info


i filen test_common.lib Jag har följande innehåll

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

När jag kör scriptet test.sh

Jag får ett felmeddelande

test.sh: 3: get_info: kommando hittades inte

Först av allt skulle jag vilja veta hur denna fungerar
"test_common.lib"


Hälsningar
Dhanamurthy
  #2 (permalänk)  
Old 05-24-2007
anbu23 anbu23 is offline Forum Advisor  
Registered User
  
 

Join Date: mars 2006
Ort: Bangalore, Indien
Inlägg: 1.398
Kod:
. test_common.lib
Kör test_common.lib i samma skal så att du kan komma åt variabler och funktioner som definieras i den.

Vad du gör är rätt. Kontrollera om test_common.lib i test.sh katalog innehåller definitionen av denna funktion?
  #3 (permalänk)  
Old 05-24-2007
blowtorch's Avatar
BLÅSLAMPA blowtorch is offline Forum Advisor  
Supporter
  
 

Join Date: Dec 2004
Ort: Singapore
Inlägg: 2350
Vad skal använder du för detta? Jag försökte med sh, ksh och bash, och det fungerade med alla tre. Jag var tvungen att göra en ändring men:
Kod:
#!/usr/bin/bash

echo "Hello World"
. ./test_common.lib
get_info
Utan ". /" Det var att ge en ". / Test.sh: test_common.lib: not found" error under sh och ksh.

Som för att förklara hur ". Test_common.lib" fungerar, så här:

När du kör. test_common.lib, eller i mitt fall. . / test_common.lib, uttalanden i test_common.lib ärende behandlas inom den uppringande skal själv, till skillnad från när du kör. / test_common.lib (detta gafflar en separat process). Eftersom den uppringande skal processer, andra uttalanden som variabel definitioner, funktion definitioner, osv finns lagrade i den uppringande skal och är tillgängliga för senare användning.

Hoppas det var klart (även om det antagligen inte är).
  #4 (permalänk)  
Old 05-24-2007
aigles's Avatar
aigles aigles is offline Forum Advisor  
Registered User
  
 

Join Date: april 2004
Ort: Bordeaux, Frankrike
Inlägg: 1.423
Citat:
Ursprungligen postat av BLÅSLAMPA
Vad skal använder du för detta? Jag försökte med sh, ksh och bash, och det fungerade med alla tre. Jag var tvungen att göra en ändring men:
Kod:
#!/usr/bin/bash

echo "Hello World"
. ./test_common.lib
get_info
Utan ". /" Det var att ge en ". / Test.sh: test_common.lib: not found" error under sh och ksh.
Fungerar bra om "." ingår i PATH variabel, till exempel:
Kod:
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:.
Jean-Pierre.
  #5 (permalänk)  
Old 05-24-2007
blowtorch's Avatar
BLÅSLAMPA blowtorch is offline Forum Advisor  
Supporter
  
 

Join Date: Dec 2004
Ort: Singapore
Inlägg: 2350
Ja, jag vet, men jag aldrig "." i min väg ...
  #6 (permalänk)  
Old 05-24-2007
dhanamurthy dhanamurthy is offline
Registered User
  
 

Join Date: juni 2006
Inlägg: 105
Linjen
. test_common.lib men utför framgångsrikt i manus, det get_info funktion inte kan verkställa eftersom definitionen för get_info inte görs tillgänglig.
När jag sprang. . / test_common.lib.

Det är förfarandet ytterligare genom att ringa funktionen.
Jag använder bash scripting.

Osäker på hur denna fungerar.

Tack för din input.


Hälsningar
Dhanamurthy
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 06:12.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0