Nowe posty

Autor Wątek: funkcja find  (Przeczytany 2778 razy)

amajcher

  • Gość
funkcja find
« dnia: 2013-01-26, 18:28:41 »
#! /bin/bash
echo "podaj nazwe katalogu "
read nazwa
clear
find /home -type d -name $nazwa -print
wyswietla mi nazwe katalogu co trzeba dopisac zeby wyswietlalo cala jego zawartosc ?

xavery

  • Gość
funkcja find
« Odpowiedź #1 dnia: 2013-01-28, 15:42:00 »
Użyć opcji -exec z poleceniem listującym zawartość katalogu.

Offline ultr

  • Users
  • Guru
  • *****
  • Wiadomości: 1177
    • Zobacz profil
funkcja find
« Odpowiedź #2 dnia: 2013-01-28, 19:13:53 »
Rozumiem, że chcesz wylistować zawartość podanego katalogu użytkownika znajdującego się w /home?

find-em:
#!/bin/bash
read -p "Podaj nazwę katalogu: " nazwa
find "/home/$nazwa" -maxdepth 1
ls-em:
#!/bin/bash
read -p "Podaj nazwę katalogu: " nazwa
cd "/home/$nazwa"
ls -1
Jednak jeśli prosisz o nazwę katalogu/pliku, to nie wiesz, czy użytkownik poda ścieżkę względną czy bezwzględną. Bezpieczniej więc byłoby napisać:

#!/bin/bash
read -p "Podaj nazwę katalogu: " nazwa
cd /home
find "$nazwa" -maxdepth 1
Pamiętaj też o cudzysłowach przy odwoływaniu się do zmiennych - użytkownik może wpisać spacje i bez cudzysłowów dostaniesz kilka argumentów zamiast jednego zawierającego spacje.