*nix shell

Poruka
13.232
Tipovi, korišćenje i shell programiranje.
Tipov: ash, ksh, sh, bash, csh, tcsh.
- - - - - Kastomizacija .login .logout i .cshrc (može i .tcshrc za tcsh) - - - - -
Npr. u .login fajlu u home dir-u ispišete sledeće:
echo "Dobrodošli u vaš nalog"
echo "--------------------------------"
Npr. u .logout fajlu u vašem home dir-u napišete:
echo "Napuštate vaš nalog..."
echo "--------------------------------"
Npr. u .cshrc (koji koristi csh shell / i tcsh shell ako nema fajla .tcshrc)
možete uneti sledeće:
set prompt = "%n[%m]%l_#"
alias lss 'ls -alsF'
alias ho 'cd /usr/home/putanjadohomedira'
alias ff 'finger'
usr/lib/sendmail ja@moja_adr.esa < .warning
-->> gore navedeno će 1. promeniti prompt u kastomizovan po vašoj volji
pogledajte 'man tcsh > pico blabla.txt' za sve promenljive (u pico-u tražite (CTRL+W) '%s'),
i videćete koje sve promenljive možete koristiti u okviru (i ne samo u okviru) prompta.
komanda alias vam pravi novu komandu kao prečicu do najviše korišćenih. Npr, da ne bi
svaki put pisali 'ls -alsF' samo ukucajte 'lss'. Npr. komanda 'ho' skraćuje pisanje komande
do menjanja dir-a na home dir za bar desetak petnaest karaktera. Naravno možete pisati
alias za sve što često koristite a dugo je za ponavljanje.
Npr. alias nalog 'last -1000 | grep moj_username | more' prikazuje ko je sve ulogovan pod
navedenim username-om, u poslednjih 1000 logovanja koje je zabeležio sistem.
Sa 38 karaktera komanda je sada u samo 5. 'nalog' Možda previše detaljišem.
Dalje, usr/lib/sendmail linija šalje nam mail na odgovarajuću adresu da je neko posetio
nalog, ulaz za tekst maila uzima iz fajla .warning (editujte pico-m ili vi-jem).
sendmail ne mora biti u usr/lib/sendmail već može biti i u /usr/bin/sendmail, a da biste
tačno znali gde je unesite komandu 'whereis sendmail' ili 'which sendmail'.
--- --- --- --- --- --- --- --- --- --- --- ---
Možda sam trebao i na početku ali evo sada:
Promena tipa shell-a i podešavanje difolta.
Unošenjem komandi sh, bash, csh, ksh, ash, tcsh menjate shell u odgovarajući.
Dakle unošenjem komande tcsh 'ulazite' iz npr. dotadašnjeg bash u tcsh shell.
-Da biste postavili tcsh za difolt shell, unesite 'chsh' i kada vas pita za lozinku unesite
vašu lozinku, nakon toga vas pita za putanju do shell-a, unesite npr: '/bin/tcsh'
za tcsh shell, ili /bin/bash za bash itd.
- - - - - - - - - - - - - - - - - - - - - - - -
Za sada toliko, sledeći put biće još interesantnijih informacija u vezi shell-ova, najviše
tcsh, shell programminga i sl.
- - - - - - - - - - - - - - - - - - - - - --- - - - ---
Ako neko ima da postavi neke 'trikove', uputstva za lakše korišćenje shell-ova
i shell programming, dobrodošao je. Let's roll. :)
 
...A ako hocete shell sa puno lepih i korisnih funkcija a ne zalite resurse svog racunara, uzmite zsh :wink:

Lepa tema. Samo sto bas nije za piskaranje po forumu.
Za to je dobro imati lep tutorijal ili jos bolje knjigu, pa ako zapne moze da se pomaze ovde :wink:
 
Može ovo kao popularizovanje operiranja iz cmd linije, mada si u pravu...
Što se teme tiče, reci šta je to što najviše koristiš u zsh a da nema u drugim
tipovima shell-a.
Što se mene tiče koristim tcsh, najbolji mi je iz razloga što sam u njemu naučio
rad sa stack-ovima, ima word i command copletion na 'tab', možda noviji zsh imaju
ali ne verujem. Meni je u zsh najbolji deo što dozvoljava rekurzivne wild-karte npr:
root@localhost# head ./**/*.h
Hm... Vrlo korisno moram priznati, i jeste zsh najmoćniji shell ali skriptovanje u csh/tcsh je c-like
i pošto koristim c/c++ jasno je da mogu da automatizujem gomilu procesa koje bih nekada ponavljao
nekoliko ili puno puta a jako su komplikovani.
Sve je izgleda stvar afiniteta i potreba, i nije poenta u tome koji je bolji shell, prosto dajte neka
iskustva i ideje za bolje korišćenje shell-ova. ;)
 
zsh je dobar za interaktivan shell. Ima gomilu kompletiranja, prepravljanja i slicnih stvarcica.
Mnogo je jako kad ukucas komandu i omasis jedno slovo, lupis tab i prepravi ti to u ispravnu komandu (naravno, ovo samo kad moze da proceni o kom programu se radi). Ili, recimo, nakon taba mozes da dobijes tabelu sa spiskom fajlova kroz koje mozes da se kreces strelicama.

Pogledaj kako je sredjen u GRML distribuciji Linuxa. ;)

Sintaksno je skoro identican bash-u, s tim sto ima neke dodatne funkcionalnosti, pa se tu sintaksa malo razlikuje. Recimo, preusmeravanje izlaza u vise fajlova istovremeno.

Inace za skriptice koristim bash. Cisto iz navike.
 

Back
Top