Shell művelet mappákal

Üdv kezdő programozó vagyok, és a fórumra is csak most regisztráltam, szóval bocs ha lámaságot csinálok, de egy nagy problémába ütköztem a shell scriptekkel a következőt kéne megoldanom
a mappa amiben van a cmd-given nevá fájl le kell ellenőriznem, hogy az e a feldolgozandó mappa, illetve a cmd-given fut-e?
Valami ötletek esetleg?

az elsőre valami ilyennel próbálkoztam:

#!/bin/bash

for DIR in `find . -type d`
do
cd $DIR
for FILE in cmd-given
do
if [ ${DIR} == pwd ]; then
echo "ott vagy"
fi
done
done

sajnos a másodikra ötletem sincs, megértéseteket előre köszönöm :)

Hozzászólások

Mint kezdő programozónak hadd adjak egy tanácsot!

Addig soha ne írj le egyetlen kódsort sem, amíg nem tudod legalább magadban szabatosan magyarul megfogalmazni, hogy mit szeretnél elérni. Ha segítséget kérsz, akkor ugyanez az eljárás, de a szabatos magyarsággal megfogalmazott feladatot írd le (specifikálás).

Látszik, hogy hasonlóval próbálkoztál a topicindítóban, de pár csiszolás még ráfér. Sejthető, hogy mit akarsz, de az kevés.

Elnézést kérek, csak külföldre járok egyetemre és fordítani próbáltam, szóval akkor megpróbálom máshogy, és tényleg elnézést.
Megkeresem a cmd-given nevű fájlt egy hatalmas mappa rendszerbe (több ilyen nevű fájl lehet más és más helyen), szóval valahova el van dugva. Ha megtaláltam leellenőrzőm, hogy az aktuális mappa van-e beállítva munkakönyvtárnak vagy más szóval feldolgozott, gondolom ara gondoltak ha valami műveletet csinálok az ott e fog végrehajtódni.
A másik része meg hogy a cmd-given az aktuális mappában fut e?

Remélem érthetőbben fogalmaztam, ha nem akkor elnézést, elég nehéz egy idegen nyelvről ilyesmit fordítani

Akkor ez valami házifeladat-szerű? (arra itt harapnak) :-)

a) esetleg c'n'p az eredeti nyelvű szöveget
b) fenti kódodhoz annyit, hogy a küső ciklusban belépsz egy $DIR könyvtárba, de a ciklustörzs végén ki is kell jönni (vissza az eredeti helyre), különben a ciklustörzs 2. lefutásakor a/b -be fogsz menni (előbb a, majd b helyett); valamint a pwd biztosan nem jó, szerinte `pwd` akar az lenni.

Az tény, hogy a második fele még kusza. Valami olyasmi talán, hogy a megtalálandó parancs a PATH alapján honnan fut. Az-e amit te megtaláltál, vagy máshonnan. De tényleg zűrös a kérdés.

Ne haragudj, de nem értem. Világosan, érthetően meg tudod fogalmazni, mit szeretnél?

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

#! /bin/bash
for i in $(find -name cmd-given); do
  DIR="$(dirname "$i" | sed 's/\.\///')"
  PROC="$(ps -A a | grep $DIR/[c]md-given)"
  [ "PROC" ] \ 
    && echo "$i $(echo PROC | awk '{print $1}') id-vel fut" \
    || echo "$i nem fut?"
done

ha ugyan erre gondoltál:) nyilvánvaló okokból kipróbálni nem tudom/akarom...

Nekem még mindig picit zavaros a feladat, őszintén szólva nem is igazán érdekel. A gyakorlati problémák úgyis olyanok, hogy lehet pontosítani. Azzal nem tudok mit kezdeni, hogy "nekem is ennyi van leírva, ezt mondta a tanár". Ha nem érti pontosan a feladatot, meg kellett volna kérdezni, mi is az pontosan.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE