Forum Linux.pl
Programowanie => Bash, skrypty powłoki => Wątek zaczęty przez: pawel.s w 2007-12-24, 18:28:03
-
Witajcie dostalem do napisania skrypt jako zadanie semestralne:
"Wyświetlanie plików tekstowych z podgladem znaków w postaci liczb szestnastkowych."
problem mam taki ze to da sie zrobic w dwuch linijkach.
#!/bin/bash
file=${1}
hexdump -C ${file}
czy to jest dobrze?
czy mozna to jakos dluzej napisac bo troche mi bedzie glupio jak mu cos takiego pokaze, porosze o rade.
[EDIT xis: zmiana tytułu wątku]
-
Czym krótszy i prostszy skrypt tym lepiej.
Możesz też zrobić obsługę błędów np: nie znaleziono pliku $1 oraz dodać możliwość przesłania tego do less albo do more i to do wyboru np: -m l (tzn. less) i: -m m (tzn. more). I dobrze byłoby żeby domyślnie był less i żeby można to było łatwo zmienić np. za pomocą zmiennej na początku skryptu albo w configu np: /etc/hexviewer.
-
no tak, ale twoim zdaniem to jest dobrze napisane i spelnia wymog tresci zadania ??
-
Jeśli wymóg jest taki żeby to służyło do podglądu plików szesnastkowych i żeby to był skrypt to tak. Jeśli to nie musi być skrypt to wystarczy zrobić to:
mkdir /mnt/usb
mount /dev/sda1 /mnt/usb
cp /usr/bin/hexdump /mnt/usb
umount /dev/sda1
:)
Dla pewności zanieś to co napisałeś w pierwszym poście oraz drugie, ulepszone według moich rad.
Podejrzewam że tu jest haczyk bo treść zadania jest za prosta i o to chodzi...
-
oki w takim razie dopisze co trzeba :) dzieki bardzo jak cos bedzie na Ciebie :)))
-
wiesz, warto czasem pokazać, że się potrafi coś więcej niż wymogi programu nauczania;)
-
Pytanie, czy w treści zadania jest napisane by nie korzystać z systemowego 'hexdump' :) Jeśli nie jest tak napisane - błąd prowadzącego zajęcia, bo założę się, że chodziło mu o inne rozwiązanie tego zadania. A może chciał Was sprawdzić z wyszukiwania odpowiednich komend :)
Tak, czy inaczej, moim zdaniem zasługujesz na dobrą ocenę za te dwie linijki - znalazłeś rozwiązanie i to najkrótsze z możliwych :)
Powodzenia
-
Zasadnicze pytanie: jesteś studentem, uczniem liceum/technikum? Jeśli studiujesz informatykę to to rozwiązanie raczej nie usatysfakcjonuje wykładowcy:) Do liceum może być.
M.
-
jestem na informie, nie wiem moze koles wymyslal te pytania wtedy kiedy nie bylo funkcji hexdump :)) tresc zadania to taka jaka jest w pierwszym poscie czyli po prostu podglad...
-
a jest moze ktos w stanie to na szybko dluzej napisac :)?? bo ja w sumie nie wiem jak mial by sie za to zabrac :)
-
Watpie by komukolwiek chcialo sie pisac za Ciebie program. Pozwole sobie zapytac: na ktorym roku jestes? i na jakiej uczelni?. Program jest banalny do napisania. Przeczytaj na wiki o ascii oraz kodzie szesnastkowym.
-
Watpie by komukolwiek chcialo sie pisac za Ciebie program. Pozwole sobie zapytac: na ktorym roku jestes? i na jakiej uczelni?. Program jest banalny do napisania. Przeczytaj na wiki o ascii oraz kodzie szesnastkowym.
przeciez napisalem, przeczytaj od poczatku temat wtedy sie dowiesz w czym jest problem... jestem programista php nie pisalem z wiele w bashu, znam tylko podstawy.
-
Zapytaj się swojego wykładowcy czy można użyć hexdump?
M.
-
Zapytaj się swojego wykładowcy czy można użyć hexdump?
M.
Jeszcze się okaże że to ma być skrypt w bashu który używa skryptu w PHP zamiast hexdump...
-
hehe bo kolega przestanie nas lubić ;)
M.
-
zabawne :)
-
Zabawne jest to, że ten skrypt może być jeszcze krótszy:
#!/bin/bash
hexdump -C $1
A tak na serio: może miałeś podobne zadanie do zrobienia w php?
M.
-
chyba czegos nie kumacie przyszedlem tu z pytaniem czy mozna to inaczej napiac !!! bo rozwiaznie wydaje mi sie za proste i za krotkie aby to oddac. A wy sobie beke robicie, dla twojej informacji pracuje w jako programista php jesli o to ci chodzi.
dzieki za pomoc na razie
-
Jak dla mnie bash się do tego nie nadaje! Rozwiązanie które przedstawiłeś wydaje się jedynie sensowne. Bash jest używany do oskryptowania systemu a nie pisania aplikacji.
M.
-
dziekuje bardzo, wlasnie takiej odpowiedzi oczewikwalem pozdrawiam...
-
a mnie się wydaje, że powinieneś jednak to bardziej rozbudować.
Wykładowca napisał, że ma być :
"Wyświetlanie plików tekstowych z podgladem znaków w postaci liczb szestnastkowych."
To ja rozumiem że ma być np. w jednej kolumnie fragment pliku tekstowego a w drugiej kolumnie podgląd odpowiadających mu znaków w postaci liczb szestnastkowych .
-
Też tak miałem mu napisać ale zorientowałem się, że hexdump właśnie to robi ;)
M.