Shell Scripting
Shell Scripting
En los términos más simples, un script de shell es un archivo que contiene una serie de
comandos. El shell lee este archivo y ejecuta los comandos como si se hubieran ingresado
directamente en la línea de comandos.
El shell es algo único, ya que es una poderosa interfaz de línea de comandos para el sistema y
un intérprete de lenguaje de scripting. La mayoría de las cosas que se pueden hacer en la línea
de comandos se pueden hacer en scripts, y la mayoría de las cosas que se pueden hacer en
scripts se pueden hacer en la línea de comandos.
Navegación
cd
Para cambiar el directorio de trabajo se usa el comando cd. Para hacer esto, escriba cd seguido
de la ruta de directorio de trabajo deseado.
Un nombre de ruta es la ruta que toma a lo largo de las ramas del árbol para llegar al
directorio que desea. Los nombres de rutas se pueden especificar de una de dos maneras
diferentes:
Comienza con el directorio raíz y sigue la rama de árbol por rama hasta que se completa la ruta
al directorio o archivo deseado.
Del mismo modo, podemos cambiar el directorio de trabajo de /usr a /usr/bin de dos
maneras diferentes:
Looking Around
Mando Resultado
ls Listar los archivos en el directorio de trabajo
ls / bin Liste los archivos en el directorio / bin (o cualquier otro directorio que desee
especificar)
ls -l Listar los archivos en el directorio de trabajo en formato largo
ls -l / etc / bin Liste los archivos en el directorio / bin y el directorio / etc en formato largo
ls -la .. Enumere todos los archivos (incluso los que tengan nombres que comiencen
con un carácter de punto, que normalmente están ocultos) en el padre del
directorio de trabajo en formato largo
less
Programa que permite ver archivos de texto. Esto es muy útil ya que muchos de los archivos
utilizados para controlar y configurar Linux son legibles para el ser humano.
Manipulación de archivos
Estos cuatro comandos están entre los comandos de Linux más utilizados. Son los comandos
básicos para manipular tanto archivos como directorios.
Wildcards
Wildcard Sentido
* Coincide con cualquier carácter
? Coincide con cualquier carácter individual
Coincide con cualquier carácter que sea
miembro de los caracteres establecidos. El
conjunto de caracteres también puede
[ characters]
expresarse como una clase de caracteres
POSIX como uno de los siguientes:
Clases de caracteres POSIX
[:dígito:] Numerales
Caracteres alfabéticos en
[:Superior:]
mayúsculas
Caracteres alfabéticos en
[:inferior:]
minúsculas
Usando wildcards, es posible construir criterios de selección muy sofisticados para los nombres
de archivo:
Pattern Matches
* Todos los nombres de archivos
Todos los nombres de archivos que
g*
comiencen con el carácter "g"
Todos los nombres de archivos que
b*.txt comiencen con el carácter "b" y terminan con
los caracteres ".txt"
Cualquier nombre de archivo que comience
Data??? con los caracteres "Data" seguidos
exactamente de 3 caracteres más.
Cualquier nombre de archivo que comience
[abc]* con "a", "b" o "c" seguido de cualquier otro
carácter
Cualquier nombre de archivo que comience
[[:upper:]]* con una letra mayúscula. Este es un ejemplo
de una clase de carácter.
Otro ejemplo de clases de caracteres. Este
patrón coincide con cualquier nombre de
BACKUP.[[:digit:]][[:digit:]] archivo que comience con los caracteres
"BACKUP", seguido de exactamente dos
numerales.
Cualquier nombre de archivo que no termine
*[![:lower:]]
con una letra mayúscula.
Nota: Se puede usar wildcards con cualquier comando que acepte argumentos de nombre de
archivo.
Scripts Shell
En los términos más simples, un script de shell es un archivo que contiene una serie de
comandos. El shell lee este archivo y ejecuta los comandos como si se hubieran ingresado
directamente en la línea de comandos.
El shell es algo único, ya que es una poderosa interfaz de línea de comandos para el sistema y
un intérprete de lenguaje de scripting. Como veremos, la mayoría de las cosas que se pueden
hacer en la línea de comandos se pueden hacer en scripts, y la mayoría de las cosas que se
pueden hacer en scripts se pueden hacer en la línea de comandos.
Hemos cubierto muchas funciones de shell, pero nos hemos centrado en las funciones que se
usan más a menudo directamente en la línea de comandos. El shell también proporciona un
conjunto de características que normalmente se usan (pero no siempre) al escribir programas.
Contenido
Para escribir con éxito un script de shell, tienes que hacer tres cosas:
Escribe un script
Darle al shell permiso para ejecutarlo.
Ponlo en algún lugar donde el Shell pueda encontrarlo.
Escribe un script
Un script de shell es un archivo que contiene texto ASCII. Para crear un script de shell, utiliza
un editor de texto. Un editor de texto es un programa, como un procesador de textos, que lee
y escribe archivos de texto ASCII.. Aquí hay una lista de algunos de los más comunes:
Nombre Descripción Interfaz
vi, vim El abuelo de los editores de texto de Unix, vi es famoso por línea de comando
su estructura de comando difícil y no intuitiva. En el lado
positivo, vi es potente, ligero y rápido. Learning vi es un rito
de paso de Unix, ya que está disponible universalmente en
sistemas similares a Unix. En la mayoría de las distribuciones
de Linux, se usa una versión mejorada del editor vi
tradicional llamado vim .
Emacs El verdadero gigante en el mundo de los editores de texto es línea de comando
Emacs by Richard Stallman . Emacs contiene (o se puede
hacer que contenga) todas las características jamás
concebidas para un editor de texto. Cabe señalar que los fans
de vi y Emacs luchan contra guerras religiosas amargas sobre
cuál es mejor.
nano nano es un clon gratuito del editor de texto suministrado con línea de comando
el programa de correo electrónico pine . nano es muy fácil de
usar pero es muy corto en
características. Recomiendo nano para los usuarios
primerizos que necesitan un editor de línea de comandos.
gedit gedit es el editor que se suministra con el entorno de gráfico
escritorio Gnome.
kwrite kwrite es el "editor avanzado" suministrado con KDE. Tiene gráfico
resaltado de sintaxis, una característica útil para
programadores y escritores de guiones.