Z góry dziękuję bardzo za pomoc!Bash - pętla for dla każdego folderu w katalogu, z wyłączeniem niektórych z nich
Mam ten kod w bash:
for d in this_folder/*
do
plugin=$(basename $d)
echo $plugin'?'
read $plugin
done
który działa jak czar. Dla każdego folderu wewnątrz "this_folder", echo to jako pytanie i zapisać dane wejściowe w zmiennej o tej samej nazwie.
Ale teraz chciałbym wykluczyć niektóre foldery, więc na przykład poprosi o każdy folder w tym katalogu, TYLKO jeśli nie są to żadne z następujących folderów: globalne, wtyczki i css.
Jakieś pomysły, w jaki sposób mogę to osiągnąć?
Dzięki!
UPDATE:
ten sposób ostateczny kod wygląda następująco:
base="coordfinder|editor_and_options|global|gyro|movecamera|orientation|sa"
> vt_conf.sh
echo "# ========== Base" >> vt_conf.sh
for d in $orig_include/@($base)
do
plugin=$(basename $d)
echo "$plugin=y" >> vt_conf.sh
done
echo '' >> vt_conf.sh
echo "# ========== Optional" >> vt_conf.sh
for d in $orig_include/!($base)
do
plugin=$(basename $d)
echo "$plugin=n" >> vt_conf.sh
done
Jest to bardzo dobra opcja, ale zwróci również wszystkie pliki, jeśli w folderze 'ten_folderu znajdują się zarówno katalogi, jak i pliki. Jeśli po prostu wstawisz końcowe "/" na końcu wiersza 'for' (po kryteriach'! '), To będzie działać pięknie. Również polecam (do ciebie i OP), załączając odniesienia do '$ d' między cytatami, więc może to dotyczyć spacji za pomocą spacji. –
@CharlesRobertoCanato: Dobra rada, dodałem twoje sugestie – Thor