![]() |
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| Automatisch kopiëren van bestanden naar een andere map verplaatsen op instant schriftelijk | Bashar | UNIX for Advanced & Expert Gebruikers | 2 | 08-21-2008 03:44 PM |
| foreach lus | ROOZ | Programmeren en Shell Scripting | 3 | 06-05-2008 04:20 PM |
| foreach lus | abch624 | Programmeren en Shell Scripting | 1 | 03-19-2008 09:34 PM |
| Parse het. Txt-bestand voor de mapnaam en FTP aan de corrsponding map. | MeganP | Programmeren en Shell Scripting | 3 | 07-03-2007 02:54 PM |
| foreach commando? | geoquest | UNIX voor Dummies Questions & Answers | 5 | 05-20-2002 06:11 PM |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
foreach map
Hoi, Ik heb een klein probleem hier en ik kan het niet krijgen om te werken. Ik ben het programmeren van een script voor bash en ik moet iets doen om de map in een map. Dus ik ben in de gids en ik wil de foreach verklaring gebruiken, maar I dont weet hoe alle mappen van die directory referentie. Om de zaken simplistisch hier te maken is mijn code: Code:
foreach instance (.) cd instance mkdir test end in principe voor elke map in die map, ik wil de cd erin en een map met de naam test. Any ideas? |
|
||||
|
Een kleine correctie glasblazen. Code:
for file in *; do
if [ -d $file ]; then
mkdir $file/test;
fi
done
Omdat je een cd had uitgebracht commando zou de sub-dir maken alleen voor de eerste map. Dus het resultaat niet zoals verwacht. Laatst gewijzigd door lorcan; op 08.11.2007 08:51.. |
|
||||
|
Citaat:
huidige directory: abc Binnenkant van elke map is er een bestand hier (met behulp van een als voorbeeld): a / test / folder / script.sh Sorry voor de generieke namen. Nu wat ik wil mijn script te doen is de toegang die script.sh in elke map en voer het uit. Ik was gaan doen voor de verklaring van de cd en dan in dat pad en voer vervolgens een commando uit te voeren, maar ik denk dat het niet zo eenvoudig. Any ideas? bedankt! |
|
||||
|
U kunt proberen als Code:
for file in *; do
if [ -d $file ]; then
./$file/test/folder/script.sh;
fi
done
of als u het bijzonder ingaan op de r. en voer het script, probeer dan zo Code:
scriptHome=$(pwd) # Assuming that you are running from the path where a b c are present
for file in *; do
if [ -d $file ]; then
cd $file/test/folder;
./script.sh
fi
cd $scriptHome
done
Weer ervan uitgaande dat de boomstructuur test / map aanwezig is in de directory's a, b en c. |
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|