1

Тема: Програмування в Shell bash

Доброго всім дня!

Постала задача пройтися від поточного каталогу до кореневого / і показати всі каталоги які є в пройдених на шляху каталогах.
Написав скрипт:
#!/bin/bash

p=$1
k=/
while  [ $p != $k ]
do
    pwd
    ls -l . | awk '/^[d]/ {print $9} '
    cd ..
done

Чи може хто підказати як виправити умову while щоб цикл зупинявся після перегляду кореневого каталогу /?

Дякую?

2

Re: Програмування в Shell bash

Якщо я Вас правильно зрозумів:

#!/bin/bash

p=$1
k=/
if [ $p -eq $k ]
then
    pwd
    ls -l . | awk '/^[d]/ {print $9} '
    cd ..
fi
while  [ $p != $k ]
do
    pwd
    ls -l . | awk '/^[d]/ {print $9} '
    cd ..

done

3

Re: Програмування в Shell bash

Початкове завдання описано в файлі що додаю

Post's attachments

завдання №2 74.94 kb, 597 downloads since 2014-12-07 

4

Re: Програмування в Shell bash

Використав варіант Chemist-i, кількість помилок збільшилася (див. файл)

Post's attachments

результат завдання №2 61.93 kb, 614 downloads since 2014-12-07 

5

Re: Програмування в Shell bash

Завдання виконав.
Мій робочий варіант:

#!/bin/bash
while  [ "$PWD" != "/" ]
do
    pwd
    ls -l . | awk '/^[d]/ {print $9} '
    cd ..
done
echo /
ls -l / | awk '/^[d]/ {print $9} '

Всім дякую!
Тема закрита.

Подякували: 0xDADA11C71