The UNIX and Linux Forums  

Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Bash kopiëren bestand inhoud in een bestaand bestand op een specifieke locatie gshepherd7 Programmeren en Shell Scripting 6 03-11-2009 09:26
Uitgang uit afkomstige script angad.makkar Programmeren en Shell Scripting 2 03-04-2009 06:35
kopiëren van bestanden van de ene plaats naar soortgelijke locatie pharos467 UNIX for Advanced & Expert Gebruikers 1 09-21-2008 01:21 PM
die bestand is afkomstig van bash bij inloggen (Mac OS X 10.5.3)? Alex_Land OS X (Apple) 2 07-11-2008 11:52 PM
Wat is de locatie van de bestanden? Chanakya.m Programmeren en Shell Scripting 5 07-17-2006 01:42

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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 07-01-2009
Al262 Al262 is offline
Geregistreerde gebruiker
  
 

Join Date: juli 2009
Locatie: Pittsburgh, PA
Posten: 6
Thumbs down KSH - afkomstig bestandslocatie

Het monster scripts hieronder, ik ben op zoek naar de locatie van de bron b.sh bestand. De b.sh bestand is de bron van meerdere bestanden, zodat het niet mogelijk is een beroep te doen op een "globale" variabele of doorgegeven argument. Is er een manier voor het bepalen van de locatie van b.sh binnen 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 offline Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Locatie: Boston, MA
Berichten: 5.131
b.sh

Code:
#!/bin/ksh

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

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

Opmerking: dit werkt als a.sh en b.sh verblijven in de zelfde Direct. Als b.sh is ergens anders, geeft hij a.sh locatie (en terecht). Noodzaak om na te denken over dat.

Laatst gewijzigd door vgersh99; op 07.01.2009 11:58..
Bits Awarded / Geladen om vgersh99 voor dit bericht
Datum Gebruiker Commentaar Hoeveelheid
07-01-2009 Anoniem N / A 1
  #3 (permalink)  
Old 07-01-2009
Al262 Al262 is offline
Geregistreerde gebruiker
  
 

Join Date: juli 2009
Locatie: Pittsburgh, PA
Posten: 6
RE: KSH - afkomstig bestandslocatie

Bedankt voor de reactie, maar als u aangeven op het einde van uw bericht, het werkt alleen als a en b zijn in dezelfde directory. Mijn useCase heeft om de notie dat een in een andere directory en niet altijd a.

De useCase is dat / app1/a.sh bronnen / Algemeen / b.sh
/ app2/c.sh bronnen / Algemeen / b.sh

Ik moet b.sh om te weten dat hij in de gemeenschappelijke directory.
  #4 (permalink)  
Old 07-01-2009
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Locatie: Boston, MA
Berichten: 5.131
dit lnk nuttig kan zijn ....
Iets dat ik niet kon maken het werken met bash / ksh op Solaris ....
Misschien anderen zullen betere ideeën.

Laatst gewijzigd door vgersh99; op 07.01.2009 04:07 PM..
  #5 (permalink)  
Old 07-01-2009
Al262 Al262 is offline
Geregistreerde gebruiker
  
 

Join Date: juli 2009
Locatie: Pittsburgh, PA
Posten: 6
RE: KSH - afkomstig bestandslocatie

Niet echt veel helpen. De link geprobeerd om oplossingen in plaats van de beantwoording van de vraag. Er zijn momenten waarop binnen het script, maar niet weet wat het is directory inch lijkt een $ 0 gelijkwaardig moeten beschikbaar zijn voor een bron bestand.
  #6 (permalink)  
Old 07-01-2009
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Locatie: Boston, MA
Berichten: 5.131
Citaat:
Oorspronkelijk geplaatst door Al262 View Post
Niet echt veel helpen. De link geprobeerd om oplossingen in plaats van de beantwoording van de vraag. Er zijn momenten waarop binnen het script, maar niet weet wat het is directory inch lijkt een $ 0 gelijkwaardig moeten beschikbaar zijn voor een bron bestand.
Je zou denken, he?
Maar het ($ 0 in het afkomstig shell) is niet wat het is wat in de 'naam' (niet gewonnen) script - als de 'bron' script draait in hetzelfde proces ruimte (er is geen nieuw Forken proces) als het 'sourcing' script . Daarom is de '$ 0' in het script is afkomstig van de '$ 0' van de sourcing-script.

Ik weet niet zeker of ik dit correct uitleggen - u kunt een kijkje nemen op dit draad of bladeren in deze comp.unix.shell gebruikersgroep voor soortgelijke draden.

Laatst gewijzigd door vgersh99; op 07.01.2009 06:14 PM..
  #7 (permalink)  
Old 07-01-2009
Al262 Al262 is offline
Geregistreerde gebruiker
  
 

Join Date: juli 2009
Locatie: Pittsburgh, PA
Posten: 6
RE: KSH - afkomstig bestandslocatie

Begrijp het helemaal.

Nogmaals, ik was op zoek (hoopte) voor een $ 0 equivalent voor de bron-bestand. Ik besef de $ 0 is de ingeroepen script.

Bedankt voor de Reponses, hopelijk iemand zal enig inzicht.
Reply

Bladwijzers

Labels
ksh bestand directory

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 12:13.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0