przez Adrian » 05 Wrz 2006, 11:40
UA:
Operator może to mieć kilka znaczeń:
<< - >> może oznaczać przesunięcie bitowe
<< - >> oznacza przekierowanie odpowiednio wejścia / wyjścia
w przypadku przekierowania wejścia jeśli w skrypcie umieścimy polecenie:
---------------------------------------------------------
#!/bin/sh
cat << FULLSTOP
potrzebuje skryptu w jezyku powloki (sh)
dowolny skrypt w ktorym zastosowano specyficzny
operator"<<" i musze omowic jego role jeli
ktos ma jakis pomysl czekam
FULLSTOP
---------------------------------------------------------
To po uruchomieniu skryptu na ekranie zobaczymy:
Administrator@adek /home
$ ./skrypt.sh
potrzebuje skryptu w jezyku powloki (sh)
dowolny skrypt w ktorym zastosowano specyficzny
operator"<<" i musze omowic jego role jeli
ktos ma jakis pomysl czekam
FULLSTOP
Administrator@adek /home
$
Polecenie cat << FULLSTOP (gdzie FULLSTOP jest dowlonym wyrazem stanowiącym ogranicznik) spowoduje wyświetlenie tekstu na ekranie - W przypadku długiego tekstu, który chcemy umiescić w skrypcie nie musimy używać niewygodnego w takiej sytuacji polecenia echo.
##################3
Operator ">>" to przekierowanie standardowego wyjścia do pliku. Jeśli plik istnieje to dane zostaną do niego dopisane (jesli nie istnieje to zostanie stworzony). Np. jesli używasz jakiegos polecenia (grep, ls, itp) to polecenie:
$ grep Administrator /etc/passwd >> /home/wynik.txt
spowoduje dopisanie do pliku w katalogu /home wyniku poszukiwan slowa Administrator w pliku passwd.
sprawdzamy co zostalo wpisane do pliku wynik.txt
Administrator@adek /etc
$ cat /home/wynik.txt
Administrators:*:544:544:,S-1-5-32-544::
Administrator:unused_by_nt/2000/xp:500:513:U-ADEKAdministrator,S-1-5-21-3931707
917-479057944-211264456-500:/home/Administrator:/bin/bash
A teraz kolejne polecenie i proba dopisania do juz istniejącego pliku wynik.txt:
$ printf "
dopisany tekst" >> /home/wynik.txt
$ cat /home/wynik.txt
Administrators:*:544:544:,S-1-5-32-544::
Administrator:unused_by_nt/2000/xp:500:513:U-ADEKAdministrator,S-1-5-21-3931707
917-479057944-211264456-500:/home/Administrator:/bin/bash
dopisany tekst
Administrator@adek /etc
$
jak widac tekst zostal dopisany do pliku