Путь пересечения и полномочия проверки/набора в сценарии оболочки - как?

В данном сценарии оболочки я должен выбрать известное путь и проверить его вверх (к корню файловой системы) для корректных полномочий. То, как я разделил бы путь и шел бы вверх в сценарии оболочки (может быть ударом или "более низким общим знаменателем")?

1
задан 03.11.2009, 16:43

2 ответа

Это должно работать:

unset path
parts=$(pwd | awk 'BEGIN{FS="/"}{for (i=1; i < NF; i++) print $i}')

for part in $parts
do
path="$path/$part"
ls -ld $path   # do whatever checking you need here
done
0
ответ дан 12.12.2019, 10:48
  • 1
    Спасибо, который работает. Быть (ba) sh-only решением? – k-fish 05.11.2009, 23:12

Когда я попробовал awk решение ennuikiller, оно пропустило текущий каталог для меня.

Так, в то время как немного поздно, вот решение только для удара:

foo=`pwd`
while [ "$foo" != "" ]; do
    echo $foo # work with directory here
    foo=${foo%/*}
done

Не знайте, является ли это самое изящное решение, но это работает. Я нашел простое объяснение обработки строк на tldp и перенес цикл вокруг этого.

1
ответ дан 12.12.2019, 10:48

Теги

Похожие вопросы