Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
Google Site



Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 03-19-2008
Regisztrált felhasználó
 

Join Date: Mar 2008
Hozzászólások: 2
Karbantartás teljes útvonalát a parancsfájl egy var sourcing ha azt egy másik szkript

Hi All,

I've searched a fórumon keresztül lehet megoldani ezt a problémát, de nem találtam semmit. Nekem van 2 szkript fájlokat különböző könyvtárakban.

Elsõ script, hívjuk, hogy "egy / két / a.sh" így néz ki:


Kód:
#!/bin/sh
IN_DIR=`dirname $0`

CUR_DIR=`pwd`
cd $IN_DIR
A_DIR=`pwd`
cd $CUR_DIR

export $A_DIR
echo $A_DIR

Futás, hogy ad nekem "egy / két /", és A_DIR van állítva a kívánt értéket.


Most már van egy másik forgatókönyv egy másik könyvtárba, hogy a források a szkript. Let's call it "/ szia / szia / b.sh"


Kód:
#!/bin/sh
. /one/two/a.sh

echo $A_DIR

Ebben az esetben nem értem "egy / két /", hanem: "/ szia / szia /"

Azt hiszem ez azért van, mert a $ 0 változó belül az első forgatókönyv válik "b.sh" helyett. Azt akarom, hogy az első forgatókönyv, hogy mindig forrás a $ A_DIR változó útját a forgatókönyvet, és én nem akarok támaszkodni kemény kódolás meg, sem a "keresés" paranccsal.

Csinál akárki volna akármi eszme? Akármi segít akar lenni nagy!

Thanks in advance!
Sponsored Links
  #2 (permalink)  
Old 03-19-2008
...@...
 

Join Date: Feb 2004
Helyszín: NM
Hozzászólások: 6164
pwd megadja az aktuális könyvtár futtatja a szkriptet be Meg lehet semmit.

belül a.sh:

Kód:
CUR_DIR=`dirname $0`

Ez csak akkor működik, ha élni a.sh a teljes útvonalat, pl. : egy / két / a.sh
  #3 (permalink)  
Old 03-19-2008
Regisztrált felhasználó
 

Join Date: Mar 2008
Hozzászólások: 2
Hi Jim, köszönöm a választ.

Azt, hogy valami változás könyvtárat kéri belül a.sh, hogy a pwd válik dirname $ (0). A probléma az, hogy azt hiszem, nem vagyok a.sh hivatkozva, de a beszerzés belsejébe b.sh:


Kód:
#!/bin/sh
. /one/two/a.sh

echo $A_DIR

Tegyük fel, hogy élni b.sh a következő:

/ szia / szia / b.sh

Mert a.sh meghozta a következő hívás: dirname $ (0). Ez lesz az út a jelenlegi érték belülről 0 $, ami valójában "/ szia / szia / b.sh", mivel ez a forgatókönyv az, hogy ténylegesen hivatkoznak.
  #4 (permalink)  
Old 03-19-2008
rubin's Avatar
Rubin rubin is offline Forum Advisor  
Regisztrált felhasználó
 

Join Date: Nov 2007
Posts: 321
Ugyanezen a vonalak az utolsó post, csak néhány ajánlást ...

Idézet:
A probléma az, hogy azt hiszem, nem vagyok a.sh hivatkozva, de a beszerzés belsejébe b.sh
Igen, ez a probléma, akkor meg kell élni a.sh forgatókönyvet. Sourcing ez, azt fogja eredményezni, hogy kap végre azon a helyen a jelenlegi shell (héj b.sh / környezet), ezért minden parancsát a.sh kap helyet a b.sh shell / environment.
Másodszor, a helyzet akkor nem kell export A a.sh. Hogy exportálja a változó értéke határozza meg A_DIR a of subshells a.sh (Pl. ha hivatkoznak más szkriptekkel belül a.sh, stb ...). Így elérni az értéke A_DIR a külső script b.sh további feldolgozás céljából, egy út-ból csinálás ez, keresztül hivatkozva a.sh és tedd értéke A_DIR egy ideiglenes fájlt belül a.sh:

a.sh script:


Kód:
#!/bin/sh
IN_DIR=`dirname $0`

CUR_DIR=`pwd`
cd $IN_DIR
A_DIR=`pwd`
cd $CUR_DIR

echo $A_DIR > /hello/by/temp_file

és b.sh script:


Kód:
#!/bin/sh

/one/two/a.sh
my_dir=`cat /hello/by/temp_file`

#To see the result
echo " This is A_DIR " $my_dir

# If you don't need the temp_file 
rm /hello/by/temp_file

Remél ez segít.
  #5 (permalink)  
Old 03-19-2008
cfajohnson's Avatar
Shell programozó, szerző
 

Join Date: Mar 2007
Helyszín: Toronto, Kanada
Hozzászólások: 2550
Idézet:
Originally Posted by mrbluegreen View Post
Hi All,

I've searched a fórumon keresztül lehet megoldani ezt a problémát, de nem találtam semmit. Nekem van 2 szkript fájlokat különböző könyvtárakban.

Van ritkán, ha valaha, meg kell találni az utat a forgatókönyvet.

Helyezze el a szkripteket egy könyvtárat a PATH és ne aggódj, hol vannak.
Sponsored Links
Closed Thread

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Ki


Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
a teljes rendszer backup szkript Clement Linux 5 11-27-2007 03:23 AM
script sourcing probléma (KSH) rakeshou A UNIX a dummies Kérdések és válaszok 3 09-21-2007 10:29 AM
Ismerkedés a teljes útvonalat a relatív elérési út polip Shell programozás és Scripting 4 03-25-2007 01:08 PM
Teljes útvonalát végrehajtó script a KSH? BriceBu Shell programozás és Scripting 2 09-19-2005 10:29 AM
Full-Screen Script Morcegao30 Shell programozás és Scripting 1 03-01-2005 04:49 AM



Minden idő GMT -4. Az idő most 01:24 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Content Copyright © 1993-2010. All Rights Management by Reserved.Ad RedTyger

Content Relevant URLs by vBSEO 3.2.0