[megoldva]könyvtár tartalmának olvasása

Létrehozom ezt a könyvtárszerkezetet

~/konyvtar/alkonyvtar 

a ~ mappában létrehozom a futtatható fájlt és innen futtatom!!!

 

#!/bin/bash

 DIR=konyvtar/alkonyvtar              

 cd $DIR

 find $DIR -name '*.txt' | while read sor

do

    echo $sor

done

 

Azt írja ki find: 'konyvtar/alkonyvtar':Nincs ilyen fájl vagy könyvtár

Hozzászólások

#!/bin/bash

DIR=~/konyvtar/alkonyvtar

cd $DIR

find $DIR -name '*.txt' | while read sor
do
    echo $sor
done

Igen, lefutott. A ~ csak annyit jelent, hogy a home-od alatt közvetlenül megadott útvonalon keres. Előtte persze létrehoztam két mappát a home-omban.

Szerk. bizonyíték, direkt beleraktam egy txt-t:

**@*:~/Documents/scripts$ bash dir.sh 
/**/**/konyvtar/alkonyvtar/test.txt
**@**:~/Documents/scripts$ 

Egyébként a cd $DIR felesleges bele, csak azért hagytam benne, mert eredetileg is szerepeltetted, de ha ellenőrzés, jobb lenne egy cd $DIR || exit 2; pl.

BinDir=$(cd $(dirname "$0"); pwd)
cd "$BinDir"

Nézzük sorban...

DIR=konyvtar/alkonyvtar              

Ez egy értékadás, semmi extra.

cd $DIR

Belép az aktuális könyvtár alatt a konyvtar/alkonyvtar mappába (ha nem létezik, akkor hibát ír ki)

find $DIR -name '*.txt' | while read sor

A ahonnan_indultunk/konyvtar/alkonyvtar  mappában állva a konyvtar/alkonyvtar mappában keresne a find...