Este interprete tiene la característica de llevar una historia de los
comando realizados:
Así, con "!!" repite el último comando, con "!#" se repite el #
(número) de comando indicado o también con "!" y las primeras letras de
un comando.
moises@tonatiuh% !60
moises@tonatiuh% !man
Definamos la variable "tarea1" que tiene la ruta de un directorio:
Algunas de estas variables son:
Algunos alias definidos por default son los siguientes, donde la primera
columna indica el alias y la segunda los comandos a realizar:
En Unix existen varios interpretes de comandos como:
Bourne Shell
C Shell
Korn Shell
y varios más, aquí solo veremos algunas características de
c-shell.
moises@tonatiuh% history
. . .
58 more folder
59 cat dos tres > & err
60 cat err
61 history
62 man man
63 history
Esto evita volver a teclear los comandos que se deseen repetir y solo se indica
que comando se requiere ejecutar nuevamente.
moises@tonatiuh% !!
También se pueden definir variables que permitan evitar el teclear una
línea grande constantemente.
moises@tonatiuh% setenv tarea1 ~/curso/linux
Para ver el contenido de la variable usamos:
moises@tonatiuh% echo $tarea1
/home/moises/curso/linux
Y para usarla se realiza:
moises@tonatiuh% cd $tarea1
/home/moises/curso/linux
Esta facilidad también la usa el sistema operativo para definir
variables que indiquen como esta definido el ambiente del usuario, las rutas
donde se encuentra el software, las librerías para ejecutar programas o
compilar, etc.
moises@tonatiuh% setenv | more
DISPLAY=:0.0
HOME=/home/moises
MANPATH=/usr/man:/usr/openwin/man:/opt/SUNWspro/man:/usr/local/man:
/usr/localTeX/man:/opt/skyview/man
OPENWINHOME=/usr/openwin
PATH=/bin:/usr/bin:/usr/sbin:/etc:/usr/openwin/bin:/usr/ccs/bin:
/opt/SUNWsprobin:/usr/ucb:/usr/local/bin:/usr/local/TeX/bin
:/opt/algor/bin:/opt/skyview/bin:/usr/local/hotmetal/bin:/local/bin:
/home/moises/bin:/home/moises:.
LD_LIBRARY_PATH=/usr/openwin/lib:/opt/SUNWspro/lib:/usr/local/lib
:/opt/midas/5NOV/lib:/usr/dt/lib
. . .
En muchas ocasiones no solo tenemos que ejecutar un comando, más bien
una serie de comandos. Para evitar posibles errores al momento de teclear, se
pueden definir "alias", es decir, una palabra que contenga la cadena de
comandos que frecuentemente usamos.
moises@tonatiuh% alias
XT xterm -g 80x44 -fn lucidasans-typewriter-14 -sb &
bye clear;logout
cd cd !*;echo $cwd
la ls -a
ll ls -la
ls ls -F
xr xhost !* ; rlogin !*
Los shell no solo son interpretes, también se les considera
lenguajes de programación porque podemos definir variables y realizar
ciclos. El siguiente ejemplo lo pueden usar para bajar a su cuenta las
imágenes FITS de una cinta DAT o EXABYTE. Solo hay que ponerlo en un archivo de
texto y cambiarle los permisos con "chmod u+x archivo".
moises@tonatiuh% more cintafits
#
mt -f /dev/rmt/0 rew
set indi=1
set tope=101
while ($indi < $tope)
dd if=/dev/rmt/0n of=mt$indi.fits ibs=2880b
echo ya lei el No. $indi
@ indi++
end