[bash] Sprawdzanie wykonywalności plików
-
- Piegowaty Guziec
- Posty: 4
- Rejestracja: 02 lut 2010, 19:27
- Płeć: Mężczyzna
- Wersja Ubuntu: 11.04
- Środowisko graficzne: GNOME
- Architektura: x86
[bash] Sprawdzanie wykonywalności plików
Muszę wykonać program, który m.in. sprawdzi czy pliki są wykonywalne w bieżącym katalogu i jeśli tak to skopiuje ich nazwy do pliku pliki.info w innym katalogu.
Zacząłem robić, tu jest urywek programu:
if [ -x *.* ]; then
ls *.* > ~/LABOR/pliki.info
fi
ale nie wiem wywala błąd. Jak to powinno poprawnie być?
Zacząłem robić, tu jest urywek programu:
if [ -x *.* ]; then
ls *.* > ~/LABOR/pliki.info
fi
ale nie wiem wywala błąd. Jak to powinno poprawnie być?
-
- Sędziwy Jeż
- Posty: 66
- Rejestracja: 15 mar 2008, 22:50
- Płeć: Mężczyzna
- Wersja Ubuntu: 10.10
- Środowisko graficzne: GNOME
- Architektura: x86
Odp: [bash] Sprawdzanie wykonywalności plików
Witam,
W systemie Linux jest całe mnóstwo pożytecznych poleceń. Całe twój skrypt można skrócić do pojedynczej linii korzystając z polecenia:
Poczytaj podręcznik mam do polecenia. Jak nie dasz rady to pisz pomogę.
PS. Find - wyszukiwanie plików możesz skorzystać również z tego.
No dobra zostałem wyprzedzony, więc nie będę nabijał postów.
W systemie Linux jest całe mnóstwo pożytecznych poleceń. Całe twój skrypt można skrócić do pojedynczej linii korzystając z polecenia:
Kod: Zaznacz cały
find
Poczytaj podręcznik mam do polecenia. Jak nie dasz rady to pisz pomogę.
PS. Find - wyszukiwanie plików możesz skorzystać również z tego.
No dobra zostałem wyprzedzony, więc nie będę nabijał postów.

-
- Piegowaty Guziec
- Posty: 4
- Rejestracja: 02 lut 2010, 19:27
- Płeć: Mężczyzna
- Wersja Ubuntu: 11.04
- Środowisko graficzne: GNOME
- Architektura: x86
Odp: [bash] Sprawdzanie wykonywalności plików
Dzięki, na pewno poczytam. Ale jednak chciałbym wykonać to za pomocą tego IF. Mógłbyś mi napisać jak powinno to wyglądać?
-
- Wytworny Kaczor
- Posty: 470
- Rejestracja: 30 mar 2009, 18:00
- Płeć: Mężczyzna
- Wersja Ubuntu: inny OS
- Środowisko graficzne: MATE
- Architektura: ARM
Odp: [bash] Sprawdzanie wykonywalności plików
Kod: Zaznacz cały
for i in * ;do
[ -x $i ] && echo $i >>pliki.info
done
Ja z reguły używam if -x do konkretnej nazwy plika w celu sprawdzenia czy jest wykonywalny.
perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'
Inny OS: PLD Linux
Inny OS: PLD Linux
-
- Sędziwy Jeż
- Posty: 77
- Rejestracja: 06 sty 2009, 10:59
- Płeć: Mężczyzna
- Wersja Ubuntu: 9.10
- Środowisko graficzne: GNOME
- Architektura: x86
Odp: [bash] Sprawdzanie wykonywalności plików
zainteresuj sie parametrami:
-type,
-perm
Przykladowo
-type,
-perm
Przykladowo
Kod: Zaznacz cały
for a in `find . -type f`
do
if [ -x $a ]; then
echo $a >> pliki.info
fi
done
-
- Sędziwy Jeż
- Posty: 33
- Rejestracja: 08 sie 2009, 14:53
- Płeć: Mężczyzna
- Wersja Ubuntu: inny OS
- Środowisko graficzne: KDE Plasma
Odp: [bash] Sprawdzanie wykonywalności plików
Kod: Zaznacz cały
find . -executable -type f -exec echo {} >> file.list \;
- beluosus
- Zakręcona Traszka
- Posty: 695
- Rejestracja: 01 paź 2006, 15:32
- Płeć: Mężczyzna
- Wersja Ubuntu: inny OS
- Środowisko graficzne: Xfce
- Architektura: x86
- Kontakt:
Odp: [bash] Sprawdzanie wykonywalności plików
@nwkj: po pierwsze, wypada przeczytać temat zanim się odpowie:
PS
@down: ha, widzę, że doczytałeś. Już nie brakuje.
Po drugie:wodnik1990 pisze:Ale jednak chciałbym wykonać to za pomocą tego IF.
Powyższe rozwiązanie jest co najmniej nieefektywne, wystarczy:nwkj pisze:Kod: Zaznacz cały
find . -executable -type f -exec echo {} >> file.list \;
Kod: Zaznacz cały
find . -executable -type f -print -maxdepth 1 > file.list
@down: ha, widzę, że doczytałeś. Już nie brakuje.

-
- Sędziwy Jeż
- Posty: 33
- Rejestracja: 08 sie 2009, 14:53
- Płeć: Mężczyzna
- Wersja Ubuntu: inny OS
- Środowisko graficzne: KDE Plasma
Odp: [bash] Sprawdzanie wykonywalności plików
... i brakuje -maxdepth :]
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 10 gości