The UNIX and Linux Forums  

Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
google unix.com



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.

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
Áthelyezés parancs és kilépési állapot probléma visingha Shell programozás és Scripting 10 09-13-2008 09:08 PM
Áthelyezés parancs és kilépési állapot probléma visingha A UNIX a dummies Kérdések és válaszok 1 09-12-2008 03:14 AM
exit status futó Java classpath UNIX shell mmcds Magas szintű Programozás 2 08-02-2007 11:06 PM
ellenőrzésére exit status egy shell script kdipankar Shell programozás és Scripting 2 05-09-2006 02:08 AM
Probléma a Kilépési diganta Shell programozás és Scripting 1 09-28-2005 09:34 AM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 01-06-2009
philp philp is offline
Regisztrált felhasználó
  
 

Join Date: Jan 2009
Hozzászólások: 2
sh rekurzív sub-shell exit status probléma

Szia
Próbálom felismerni a kilépési státuszát egy rekurzív függvény, amely Én futás, mint a sub-shell. Az alábbiakban felsorolt már része a shell szkript, hogy én vagyok futás ... sajnálom, hogy még egy kicsit hosszú kifulladt: --

Kód:
#!/bin/sh

addFile()
{
  fileName="${1##*/}"           # Extract filename from path.
  if [ $fileName == "phil" ]
  then
    return 1 #Kick off error...
  else
    return 0
  fi
}

addCommitFiles()
{
  # Traverse to database directory or below
  cd "$topDir/$1"
  if [ $? != 0 ]
  then
    echo "topDir error $topDir/$1"
    exit 1 # Treat as fatal error.
  fi

  # List all files/dirs in this directory.
  ls | while read i
  do
    # Check if directory.
    if [ -d "$i" ]
    then
      # Pass in full relative path to topDir.
      ( addCommitFiles "$1/$i" )
      ret1=$?   # This is never non-zero???
      echo "RET=$ret1 != 1"
      if [ $ret1 != 0 ]
      then
        echo "ERR2???"
        exit 1 # Treat as fatal error.
      fi
      echo "ERR3"
    else
        echo "${rootDir}/$1/${i}"
        addFile "$1/$i"
        if [ $? != 0 ]
        then
          echo "ERR1"
          exit 1 # We get this error and would exoect 
        fi
    fi
  done
  exit 0
}

  # Main
  usrNam="XXX"
  topDir=`pwd`
  rootDir="./"

  (addCommitFiles "./$usrNam")
  if [ $? != 0 ]
  then
    echo "ERROR"
  else
    echo "OK"
  fi
Hoztam létre a következő könyvtár struktúra meg a helyi könyvtárban: --
XXX
az XYZ kép
dir \u003d YYY
fájlok x1 y1 z1
dir \u003d ZZZ
fájlok phil x2 y2 z2

Mikor ÉN fuss a shell-script I get the output: --
.//./ XXX / a
.//./ XXX / b
.//./ XXX / c
.//./ XXX/YYY/x1
.//./ XXX/YYY/y1
.//./ XXX/YYY/z1
.//./ XXX / NN / ZZZ / phil
ERR1
RET \u003d 0! \u003d 1
ERR3
RET \u003d 0! \u003d 1
ERR3
OK

What I dont ért van, miért nem kap a "ERR2 ???". Kapok ERR1 ki mert addFile értéke 1, de reméltem, hogy kap ERR2??? Ki, mert a alhéj majd kilép az exit 1.
Én természetesen hiányzik valami itt vagyok, és hálás lenne, ha valaki tud segíteni?

Köszönöm

Last edited by philp; 01-07-2009 at 05:58 AM.. Ok: Added kód tags
 

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 Be




Minden idő GMT -4. Az idő most 08:07 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 Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0