The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Bash kopiere filens indhold ind i en eksisterende fil på et bestemt sted gshepherd7 Shell Programmering og Scripting 6 03-11-2009 09:26 AM
Exit fra fremskaffede script angad.makkar Shell Programmering og Scripting 2 03-04-2009 06:35 AM
kopiere filer fra et sted til samme sted pharos467 UNIX for Advanced & Ekspertsøgning Brugere 1 09-21-2008 01:21 PM
hvilken fil der er indkøbt af bash om login (Mac OS X 10.5.3)? Alex_Land OS X (Apple) 2 07-11-2008 11:52 PM
Hvad er filplaceringen? Chanakya.m Shell Programmering og Scripting 5 07-17-2006 01:42 AM

Reply
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øg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 07-01-2009
Al262 Al262 is offline
Registreret Bruger
  
 

Join Date: Jul 2009
Beliggenhed: Pittsburgh, PA
Stillinger: 6
Thumbs down Ksh - købes filplaceringen

Den eksempelscripts nedenfor, Jeg søger efter placeringen af de fremskaffede b.sh filen. Den b.sh fil er kilden af flere filer, så er det ikke muligt at basere sig på en "global" variable eller bestået argument. Er der nogen måde at bestemme beliggenheden af b.sh inden b.sh?

a.sh

Code:
 
#!/bin/ksh
echo "a: <$0>"
ScriptDir=`dirname $0`
. ${ScriptDir}/b.sh


b.sh

Code:
 
#!/bin/ksh
WhereAmI="????"
echo "b: <$0> ${WhereAmI}"


  #2 (permalink)  
Old 07-01-2009
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Beliggenhed: Boston, MA
Indlæg: 5.131
b.sh

Code:
#!/bin/ksh

thisFILE="$(whence ${0})"
thisDIR="$(dirname ${thisFILE})"
PROGNAME="${0##*/}"

WhereAmI="${thisDIR}"
echo "b: <${PROGNAME}> ${WhereAmI}"

Bemærk: Dette virker, hvis a.sh og b.sh bor i den samme direkte. Hvis b.sh er et andet sted, den vender tilbage a.sh sted (og med rette det). Behovet for at tænke over det.

Sidst redigeret af vgersh99; 07-01-2009 på 11:58 AM..
Bits Awarded / Debiteret til vgersh99 til dette indlæg
Dato Bruger Kommentar Mængde
07-01-2009 Anonym N / A 1
  #3 (permalink)  
Old 07-01-2009
Al262 Al262 is offline
Registreret Bruger
  
 

Join Date: Jul 2009
Beliggenhed: Pittsburgh, PA
Stillinger: 6
RE: ksh - købes filplaceringen

Tak for svaret, men som du angiver i slutningen af dit indlæg, er det kun fungerer, når a og b er i samme mappe. Min useCase har for at løse den opfattelse, at en er i en anden mappe og ikke nødvendigvis altid a.

Den useCase er, at / app1/a.sh kilder / common / b.sh
/ app2/c.sh kilder / common / b.sh

Jeg har brug b.sh at vide, at han er i den fælles mappe.
  #4 (permalink)  
Old 07-01-2009
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Beliggenhed: Boston, MA
Indlæg: 5.131
dette lnk kan være nyttig ....
Bit Jeg kunne ikke få det til at fungere med bash / ksh på Solaris ....
Måske andre vil få bedre ideer.

Sidst redigeret af vgersh99; 07-01-2009 på 04:07 PM..
  #5 (permalink)  
Old 07-01-2009
Al262 Al262 is offline
Registreret Bruger
  
 

Join Date: Jul 2009
Beliggenhed: Pittsburgh, PA
Stillinger: 6
RE: ksh - købes filplaceringen

Egentlig ikke meget hjælp. Forbindelsen forsøgt at levere løsninger i stedet for at besvare spørgsmålet. Der er tidspunkter, hvor inde i scriptet, det ikke ved, hvad biblioteket er det i. virker som en $ 0 tilsvarende bør være tilgængelige for en indkøbt fil.
  #6 (permalink)  
Old 07-01-2009
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Beliggenhed: Boston, MA
Indlæg: 5.131
Citat:
Oprindeligt Indsendt af Al262 View Post
Egentlig ikke meget hjælp. Forbindelsen forsøgt at levere løsninger i stedet for at besvare spørgsmålet. Der er tidspunkter, hvor inde i scriptet, det ikke ved, hvad biblioteket er det i. virker som en $ 0 tilsvarende bør være tilgængelige for en indkøbt fil.
Du tror, huh?
Men det ($ 0 i fremskaffede shell) er ikke det, hvad det i 'kaldet' (ikke indkøbt) script - som "købes" script kører i den samme proces rummet (der er ingen nyligt kløvet processen) som »sourcing 'script . Derfor er den '$ 0' i fremskaffede script er '$ 0' af sourcing script.

Jeg er ikke sikker på, hvis jeg forklarer dette korrekt - kan du tage et kig på denne tråd eller gennemse denne comp.unix.shell brugergruppe for lignende tråde.

Sidst redigeret af vgersh99; 07-01-2009 på 06:14 PM..
  #7 (permalink)  
Old 07-01-2009
Al262 Al262 is offline
Registreret Bruger
  
 

Join Date: Jul 2009
Beliggenhed: Pittsburgh, PA
Stillinger: 6
RE: ksh - købes filplaceringen

Forstår det helt.

Igen var jeg søger (håber) for en $ 0 svarende til fremskaffede fil. Jeg er klar over de $ 0 er den påberåbes script.

Thanks for the reponses forhåbentlig nogen vil give en vis indsigt.
Reply

Bogmærker

Tags
ksh fil bibliotek

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 05:35 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0