Linux: Introducción a Shell, BASH y Shell Script

Cáscara

Que es Shell

Shell (programa de shell) es la interfaz de usuario del sistema, que proporciona una interfaz para que el usuario interactúe con el kernel. Recibe el comando ingresado por el usuario y lo envía al kernel para su ejecución.

Inserte la descripción de la imagen aquí

De hecho, Shell es un intérprete de comandos, que interpreta los comandos ingresados ​​por el usuario y los envía al kernel. No solo eso, Shell tiene su propio lenguaje de programación para editar comandos, lo que permite a los usuarios escribir programas compuestos por comandos de shell. El lenguaje de programación Shell tiene muchas características de los lenguajes de programación ordinarios, por ejemplo, también tiene una estructura de bucle y una estructura de control de rama, etc. Los programas Shell escritos en este lenguaje de programación tienen el mismo efecto que otras aplicaciones

Siempre que el software que puede operar el programa de aplicación se pueda llamar programa de shell, el programa de shell estrecho se refiere al software de línea de comandos , como el BASH que se describe más adelante en este artículo; el programa de shell amplio incluye el software del modo de interfaz gráfica de usuario, porque los gráficos La interfaz de usuario también puede operar varias aplicaciones para llamar al trabajo del kernel

INTENTO

Que es bash

Shell tiene muchas versiones diferentes según su desarrollo, BASH es una de ellas, BASH (Bourne Again Shell) es la versión que usa Linux por defecto

Función de variable de shell

variable

Las variables son tipos de datos que utilizan los sistemas informáticos para almacenar los valores de las variables. Podemos extraer directamente el valor de la variable correspondiente a través del nombre de la variable. Sirve para reemplazar algunas configuraciones o una cadena de datos reservados con un conjunto de palabras o símbolos.
Inserte la descripción de la imagen aquí

Variable ambiental

En los sistemas Linux, las variables de entorno se utilizan para definir algunos parámetros del entorno operativo del sistema, como los diferentes directorios de inicio (HOME) y la ubicación de almacenamiento de correo (MAIL) de cada usuario. Para distinguirlas de las variables personalizadas, las variables de entorno se suelen expresar en mayúsculas.

Como sistema operativo multiusuario y multitarea, Linux puede proporcionar a cada usuario un entorno de trabajo independiente y adecuado, por lo que una misma variable de entorno tendrá valores diferentes debido a las distintas identidades de usuario. Como se muestra abajo:
Inserte la descripción de la imagen aquí

Uso y configuración de variables: echo, =, unset

echo : Puede usar el comando echo para usar variables. Cuando se usan variables, deben estar precedidas por un signo de dólar $. Por ejemplo, para ver el contenido de la variable PATH:

echo $PATH

Inserte la descripción de la imagen aquí
= : Use = para establecer o modificar el contenido de una variable. Por ejemplo, para establecer el contenido de la variable myname en WangGarrison, luego:

myname=WangGarrison

Inserte la descripción de la imagen aquí
Al configurar las variables, estas deben cumplir con ciertas regulaciones, de lo contrario la configuración fallará. Las reglas son las siguientes:

  1. El contenido variable y variable están conectados con un =
  2. No se permiten espacios en ambos lados del signo igual
  3. Los nombres de las variables solo pueden ser letras y números en inglés y no pueden comenzar con números
  4. Hay espacios en el contenido de la variable, puede usar comillas simples o dobles para encerrar la variable

unset : unset puede cancelar la variable, por ejemplo, cancelar la configuración de myname:

unset myname

Inserte la descripción de la imagen aquí

Función de las variables de entorno

Las variables de entorno pueden ayudarnos a lograr muchas funciones, incluida la conversión del directorio raíz (carpeta de inicio), la visualización de caracteres de solicitud, la ruta para realizar la búsqueda de archivos, etc.

Puede utilizar los comandos env y export para ver las variables de entorno predeterminadas del entorno de shell actual. Env es la abreviatura de entorno

env

Inserte la descripción de la imagen aquí
Las 10 variables de entorno importantes de Linux son las siguientes:

Nombre de la variable de entorno efecto
CASA Directorio de inicio del usuario
CÁSCARA Nombre del intérprete de shell utilizado por el usuario
CAMINO Ruta para realizar la búsqueda de archivos
EDITOR Intérprete de texto predeterminado del usuario
ALEATORIO Variable de número aleatorio
LANG Datos de idioma
HISTSIZE Número de salida de registros de comando históricos
HISTFILESIZE Número de registros de comando históricos guardados
PS1 Intérprete de Prompt of Bash
CORREO Ruta para guardar correo

Utilice el comando set para ver todas las variables (incluidas las variables de entorno y las variables personalizadas)

set

Convertir variables personalizadas en variables de entorno

La principal diferencia entre una variable personalizada y una variable de entorno es que la variable de entorno continuará siendo referenciada por el proceso hijo, mientras que la variable personalizada no. La correlación entre el proceso padre y el proceso hijo es la siguiente: el
Inserte la descripción de la imagen aquí
proceso hijo solo hereda las variables de entorno del proceso padre y el proceso hijo no Heredará las variables personalizadas del proceso padre. Por lo tanto, las variables personalizadas de bash originales no se pueden usar en el proceso secundario después de ingresar al proceso secundario y no se pueden usar hasta que el proceso secundario finalice.

Entonces, si desea que las variables personalizadas del proceso principal se utilicen en el proceso secundario, debe convertir las variables personalizadas en variables de entorno y usar el comando de exportación para convertir

export 变量名称

Introducción específica del comando de exportación

Lectura, matriz y declaración de teclado variable

leer : se usa para leer la entrada de variables desde el teclado, que se puede usar para interactuar con el usuario

read [-pt] variable  #-p后面可以接提示字符   -t后面可以接等待的秒数

Inserte la descripción de la imagen aquí
declare, typeset : declare o typeset es la misma función, que es declarar el tipo de la variable

declare [-aixr] variable
-a:将后面名为variable的变量定义成为数组(array)类型
-i:将后面名为variable的变量定义成为整数(integer)类型
-x:用法与export一样,就是将后面的variable变成环境变量
-r:将变量设置成为readonly类型,该变量不可被更改内容,也不能unset

De forma predeterminada, el tipo de variable predeterminado es cadena, como se muestra en la figura a continuación, la variable a predeterminada es cadena 2 + 3 + 4
Inserte la descripción de la imagen aquí
tipo de variable de matriz

var[index]=content  #数组名为var,下标是index,内容是content,

P.ej:
Inserte la descripción de la imagen aquí

Alias ​​de comando y comandos históricos

Configuración de alias de comando : alias, unalias

alias lm='ls -al | more'  #把ls -al |more命令简化为lm

Puede escribir directamente alias para ver qué alias de comando están disponibles actualmente. Como se muestra a continuación:
Inserte la descripción de la imagen aquí
eliminar el alias del comando

unalias lm

Comando de historia

history [n]  
history [-c]  
history [-raw]
选项与参数:
n:列出最近的n条命令行表
-c:将目前的shell中的所有history内容全部清除
-a:将目前新增的history命令新增入histfiles中,若没有histfiles,则默认写入~/.bash_history
-r:将histfiles的内容读到目前这个shell的history中
-w:将目前的history记录内容写到histfiles中

Cuando iniciamos sesión en el host Linux con bash, el sistema leerá activamente los comandos ejecutados previamente desde el directorio de inicio ~ / .bash_history El número de datos registrados en este directorio está relacionado con la variable de entorno HISTFILESIZE de bash.

Script de Shell

Que es ShellScript

Shell Script es un script de shell, que es un script escrito para el shell. Escribimos algunos de los comandos y la gramática especificados por el shell, junto con funciones como expresiones regulares, comandos de canalización y redirección de flujo de datos, en un archivo de texto sin formato para lograr el propósito de procesamiento que queremos, y luego agregamos la extensión ".sh". , Esto es "secuencia de comandos de Shell"

En resumen, podemos comunicarnos con éxito con la computadora solo interpretando nuestros comandos y otras solicitudes a través de la herramienta Shell. Al mismo tiempo, con el script Shell, un "programa" que puede procesar comandos en lotes, podemos comunicarnos mejor con la computadora.

Libros de referencia

"Cocina privada Linux de Niaoge" Cuarta edición Capítulo 10 Comprensión y aprendizaje de BASH

Supongo que te gusta

Origin blog.csdn.net/huifaguangdemao/article/details/108393856
Recomendado
Clasificación