Directorio de artículos
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.
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.
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:
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
= : 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
Al configurar las variables, estas deben cumplir con ciertas regulaciones, de lo contrario la configuración fallará. Las reglas son las siguientes:
- El contenido variable y variable están conectados con un =
- No se permiten espacios en ambos lados del signo igual
- Los nombres de las variables solo pueden ser letras y números en inglés y no pueden comenzar con números
- 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
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
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
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后面可以接等待的秒数
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
tipo de variable de matriz
var[index]=content #数组名为var,下标是index,内容是content,
P.ej:
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:
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