Comprender las sugerencias del lenguaje de secuencias de comandos de Shell básico y Shell de Linux - Parte I


La imagen habla más que las palabras y la imagen de abajo dice todo sobre el funcionamiento de Linux.

  1. 5 Shell Scripts to Learn Shell Programming – Part II
  2. Sailing Through The World of Linux BASH Scripting – Part III

Entendiendo el Shell de Linux

  1. Shell: A Command-Line Interpretor that connects a user to Operating System and allows to execute the commands or by creating text script.
  2. Process: Any task that a user run in the system is called a process. A process is little more complex than just a task.
  3. File: It resides on hard disk (hdd) and contains data owned by a user.
  4. X-windows aka windows: A mode of Linux where screen (monitor) can be split in small “parts” called windows, that allow a user to do several things at the same time and/or switch from one task to another easily and view graphics in a nice way.
  5. Text terminal: A monitor that has only the capability of displaying text stuff, no graphics or a very basic graphics display.
  6. Session: Time between logging on and logging out of the system.

Tipos de shell en una distribución estándar de Linux

Shell Bourne: El shell Bourne fue uno de los principales shells utilizados en las primeras versiones y se convirtió en un estándar de facto. Fue escrito por Stephen Bourne en Bell Labs. Todo sistema similar a Unix tiene al menos un shell compatible con el shell Bourne. El nombre del programa de shell Bourne es "sh" y normalmente se encuentra en la jerarquía del sistema de archivos en/bin/sh.

Shell C: el shell C fue desarrollado por Bill Joy para Berkeley Software Distribution. Su sintaxis se basa en el lenguaje de programación C. Se utiliza principalmente para el uso de terminales interactivos, pero con menos frecuencia para la creación de scripts y el control del sistema operativo. El shell C tiene muchos comandos interactivos.

¡Comenzando la diversión! (Shell de Linux)

Existen miles de comandos para el usuario de la línea de comandos, ¿qué tal recordarlos todos? ¡Hmmm! Simplemente no puedes. El verdadero poder de la computadora es facilitar el trabajo, necesita automatizar el proceso y, por lo tanto, necesita scripts.

Los scripts son colecciones de comandos almacenados en un archivo. El shell puede leer este archivo y actuar sobre los comandos como si estuvieran escritos en el teclado. El shell también proporciona una variedad de funciones de programación útiles para hacer que los scripts sean realmente poderosos.

Conceptos básicos de la programación de Shell

  1. To get a Linux shell, you need to start a terminal.
  2. To see what shell you have, run: echo $SHELL.
  3. In Linux, the dollar sign ($) stands for a shell variable.
  4. The ‘echo‘ command just returns whatever you type in.
  5. The pipeline instruction (|) comes to rescue, when chaining several commands.
  6. Linux commands have their own syntax, Linux won’t forgive you whatsoever is the mistakes. If you get a command wrong, you won’t flunk or damage anything, but it won’t work.
  7. #!/bin/sh – It is called shebang. It is written at the top of a shell script and it passes the instruction to the program /bin/sh.

Acerca del script de shell

El script de shell es simplemente un archivo de texto simple con la extensión ".sh", que tiene permiso de ejecución.

  1. Open terminal.
  2. Navigate to the place where you want to create script using ‘cd‘ command.
  3. Cd (enter) [This will bring the prompt at Your home Directory].
  4. touch hello.sh (Here we named the script as hello, remember the ‘.sh‘ extension is compulsory).
  5. vi hello.sh (nano hello.sh) [You can use your favourite editor, to edit the script].
  6. chmod 744 hello.sh (making the script executable).
  7. sh hello.sh or ./hello.sh (running the script)
#!/bin/bash
# My first script

echo "Hello World!"

Guarde las líneas anteriores en un archivo de texto, hágalo ejecutable y ejecútelo, como se describe anteriormente.

Hello World!

En el código anterior.

#!/bin/bash (is the shebang.)
# My first script (is comment, anything following '#' is a comment)
echo “Hello World!” (is the main part of this script)

Bien, es hora de pasar al siguiente guión. Este script le indicará su "nombre de usuario" y enumerará los procesos en ejecución.

#! /bin/bash
echo "Hello $USER"
echo "Hey i am" $USER "and will be telling you about the current processes"
echo "Running processes List"
ps

Cree un archivo con los códigos anteriores, guárdelo en cualquier lugar que desee, pero con la extensión ".sh", hágalo ejecutable y ejecútelo desde su terminal.

Hello tecmint
Hey i am tecmint and will be telling you about the current processes
Running processes List
  PID TTY          TIME CMD
 1111 pts/0    00:00:00 bash
 1287 pts/0    00:00:00 sh
 1288 pts/0    00:00:00 ps

¿Fue esto genial? Escribir un script es tan simple como tener una idea y escribir comandos canalizados. También existen algunas restricciones. Los scripts de shell son excelentes para operaciones concisas del sistema de archivos y para crear scripts de la combinación de funciones existentes en filtros y herramientas de línea de comandos a través de tuberías.

Cuando sus necesidades sean mayores, ya sea en funcionalidad, robustez, rendimiento, eficiencia, etc., puede pasar a un lenguaje con más funciones.

Si ya conoce el lenguaje de programación C/Perl/Python o cualquier otro lenguaje de programación, aprender el lenguaje de secuencias de comandos no será muy difícil.

Pasando a, escriba nuestro tercer y último guión para este artículo. Este script actúa como un script interactivo. ¿Por qué no ejecuta usted mismo este sencillo pero interactivo script y nos cuenta cómo se sintió?

#! /bin/bash
echo "Hey what's Your First Name?";
read a;
echo "welcome Mr./Mrs. $a, would you like to tell us, Your Last Name";
read b;
echo "Thanks Mr./Mrs. $a $b for telling us your name";
echo "*******************"
echo "Mr./Mrs. $b, it's time to say you good bye"
Hey what's Your First Name?
Avishek
welcome Mr./Mrs. Avishek, would you like to tell us, Your Last Name
Kumar
Thanks Mr./Mrs. Avishek Kumar for telling us your name
******************************************************
Mr./Mrs. Kumar, it's time to say you good bye

Bueno, esto no es un final. Intentamos traerte una muestra de las secuencias de comandos. En nuestro artículo futuro elaboraremos este tema del lenguaje de scripting, más bien un tema interminable del lenguaje de scripting, para que sea más perfecto. Sus valiosos pensamientos en los comentarios son muy apreciados, me gusta y comparta con nosotros y ayúdenos a difundir. Hasta entonces, simplemente relájate, mantente conectado, estad atentos.