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
Flytta kommandotangenten och utresa status problem visingha Shell-programmering och Skript 10 09-13-2008 08:08
Flytta kommandotangenten och utresa status problem visingha UNIX for Dummies Frågor & Svar 1 09-12-2008 02:14
exit status köra java Classpath i UNIX mmcds High Level Programming 2 08-02-2007 10:06
kontroll exit status av ett skal script kdipankar Shell-programmering och Skript 2 05-09-2006 01:08
Problem med exit status diganta Shell-programmering och Skript 1 09-28-2005 08:34

 
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 01-06-2009
philp philp is offline
Registered User
  
 

Join Date: Jan 2009
Inlägg: 2
sh rekursiva delsektion skal exit status problem

Hej
Jag försöker att upptäcka Returvärdet en rekursiv funktion som jag kör som en sub-shell. Nedan redovisar jag en del av shell script-fil som jag kör ... sorry dess fortfarande lite lång omständligt: --

Kod:
#!/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
Jag har skapat följande katalog struktur i min lokala katalog: --
XXX
filer xyz
dir \u003d YYY
filer x1 y1 z1
dir \u003d ZZZ
filer phil x2 y2 Z2

När jag kör shell-script jag få output: --
.//./ XXX / a
.//./ XXX / b
.//./ XXX / c
.//./ XXX/YYY/x1
.//./ XXX/YYY/y1
.//./ XXX/YYY/z1
.//./ XXX / YYY / ZZZ / phil
ERR1
RET \u003d 0! \u003d 1
ERR3
RET \u003d 0! \u003d 1
ERR3
OK

Vad jag dont förstå är varför jag inte får det "ERR2 ???". Jag får ERR1 ut eftersom addFile återvändande 1, men jag hoppades att få ERR2??? "Ut eftersom subshell sedan avslutas med utgång 1.
Jag är uppenbarligen missat något och skulle vara tacksam om någon kan hjälpa?

Tack

Senast redigerad av Philp, 01-07-2009 at 05:58.. Anledning: Tillagd Kod taggar
 

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 12:27.


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