3 skrypty .sh

0

Witam,
w szkole kazano nam zrobic takie oto skrypty na ktorych to tworzeniu w ogole sie nie znam. Pierwszy raz widze cos takiego na oczy i byl by m wdzieczny za pomoc.

Skrypty – zaliczenie

  1. Napisać skrypt o nazwie „info.sh”. Skrypt pobiera jeden parametr – nazwę katalogu. Nalezy
    sprawdzić, czy jest to katalog i czy jest mozliwe wyświetlenie jego zawartości. Następnie nalezy
    policzyć ile w podanym katalogu jest plików i katalogów. Wyniki mogą być wyświetlane
    następująco:
    Zawartość katalogu <nazwa katalogu="katalogu">
    plików:+++++
    katalogów:+++
    lub
    Zawartość katalogu <nazwa katalogu="katalogu">
    plików:5
    katalogów:3

  2. Napisać skrypt o nazwie „polacz.sh”. Skrypt pobiera trzy parametry – nazwy plików tekstowych:
    plik1 plik2 oraz plik3. NaleŜy sprawdzić, czy plik1 i plik2 istnieją i czy mozna odczytać ich
    zawartość (jeśli nie – wyświetlić komunikat o błędzie i przerwać działanie). Następnie naleŜy
    sprawdzić, czy plik3 istnieje i czy mozna do niego pisać. Jeśli plik3 istnieje i moŜna do niego pisać
    naleŜy zapisać do niego połączenie zawartości plik1 oraz plik2 (jeśli nie mozna pisać do plik3 –
    wyświetlić komunikat o błędzie i przerwać działanie).
    Jeśli plik3 nie istnieje, nalezy sprawdzić czy mozna go utworzyć w biezącym katalogu (jeśli nie
    moŜna utworzyć plik3 – wyświetlić komunikat o błędzie i przerwać działanie). Utworzyć plik3 -
    zapisać do niego połączenie zawartości plik1 oraz plik2.

  3. Napisać skrypt o nazwie „sprawdz.sh”. Skrypt ma pobierać jeden parametr: nazwę uzytkownika
    (naleŜy sprawdzać, czy taki uzytkownik istnieje) i wyświetlać informację o historii logowań tego
    uŜytkownika (podpowiedź: polecenie „last”). Prezentowana informacja ma mieć następującą formę:
    daty logowań tego uzytkownika oraz liczbę logowań w danym dniu.

0

Szkola i zaliczenie? Studia znaczy. Koniec semestru, znaczy miales pol roku zajec, zeby to opanowac. Dzial OffTopic/Praca.

0

ja chodze zaocznie do szkoly - co 2 tydzien, bo za dnia pracuje, tak wiec ciezko mi jest to opanowac, wiem ze to nie jest wytlumaczenie, ale i tak dzieki ze ktos sie odezwal.

0

Nie chodzi o to czy to wymowka czy nie, ale malo kto lubi robic za kogos zadania za darmo. Zaoferuj cos za te zadanka w dziale praca to sie jakis skryptowiec moze skusi. Skrypty trudne nie sa, ale ja dawno w powloce nie pisalem, stad raczej nie pomoge.

0

sprawdz czy podano parametr

if [ -z $1 ]; then
echo "Brak katalogu do listowania!"
exit 1
fi

zapamietaj wartosc parametru

DIR=$1

jesli nie istnieje wywal blad

if [ ! -e $DIR ]; then
echo "Taki katalog nie istnieje! Sprawdz czy podano poprawna sciezke (bez)wzgledna."
exit 2

jesli istnieje ale nie jest katalogiem, wywal inny blad

elif [ ! -d $DIR ]; then
echo "To nie jest katalog!"
exit 3

jesli jest to katalog, ale nie mozna listowac, wywal blad

elif [ ! -r $DIR ]; then
echo "Nie mozna listowac katalogu, brak uprawnien!"
exit 4
else

wszystko jest ok, wiec jedziemy

echo "Zawartosc katalogu '$DIR'"
  1. przekierowujemy strumien bledu do /dev/null, inaczej bledy sa pokazywane, a nie chcemy tego
  2. wc -l zlicza linijki wyswietlane przez find - nam sie nic nie wyswietla bo mamy pipe, caly wynik jest automatycznie przekierowywany do wc
  3. ograniczamy glebokosc szukania do 1, czyli tylko w katalogu podanym jako parametr, bez rekursywnego czytania podkatalogow
    echo "plikow: $(find $DIR -maxdepth 1 -type f 2> /dev/null | wc -l)"

tutaj prawie to samo, tylko na moim systemie find zwraca rowniez katalog bedacy parametrem, wiec zapisujemy tymczasowa wartosc, a ponizej odejmujemy 1

DIRS=$(find $DIR -maxdepth 1 -type d 2> /dev/null | wc -l)
echo "katalogow: $(($DIRS-1))"

fi

0

#!/bin/bash
if [ $# -ne 3 ]; then
echo "Przyjmujemy tylko 3 parametry!"
exit 1
fi

  1. uprawnienia odczytu, zapisu do pliku, tworzenie nowych plikow sprawdza cat, wiec olewamy to
  2. cat wypisuje rowniez bledy i przerywa dzialanie jesli blad, wiec zadanie wykonane
    cat $1 $2 > $3
0

ludzie wielkie dzieki :) a z tymi zadaniami to byl pierwszy i ostatni raz, aby nie bylo ze jestem jakims zulem co to na gotowce poluje... ale to to naprawde do lba durnego mi nie wchodzi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1