variables de shell
Creación, permisos y ejecución de un script de shell
1.1 Creación de un script de shell
toque hellloworld.sh
o vi helloworld.sh
1.2 Otorgar permisos de ejecución
chmod + x helloworld.sh
1.3 Ejecutar script
mando | Comentario |
---|---|
[root @ localhost ~] # ./helloworld.sh | Ruta del archivo de script (ruta absoluta y ruta relativa) ===> Se requiere permiso ejecutable |
[root @ localhost ~] # sh helloworld.sh | sh ruta del archivo de script ===> puede que no necesite permiso de ejecución |
[root @ localhost ~] # fuente helloworld.sh | Ruta del archivo de secuencia de comandos de origen ===> La ruta en sí cambiará |
[root @ localhost ~] #. helloworld.sh | Cargar script por punto |
Símbolo de dos tubos y símbolo de redirección
2.1 Operación de oleoductos
La operación de canalización proporciona un mecanismo para el trabajo colaborativo entre diferentes comandos. El resultado de salida del comando en el lado izquierdo del símbolo de canalización "|" se utiliza como entrada (objeto de procesamiento) del comando derecho . Se pueden utilizar varias canalizaciones en la misma línea de comando.
comando cmd 1 | comando cmd 2 | comando cmd n
Por ejemplo:
free -m | grep “Mem” | awk '{print $ 6}'
2.2 Operación de redireccionamiento
Tipos de | Operador | utilizar |
---|---|---|
Redirigir entrada | < | Leer datos del archivo especificado en lugar de ingresar desde el teclado |
Redirigir salida | > | Guarde el resultado de salida en el archivo especificado (sobrescriba el contenido original) |
Redirigir salida | >> | Agrega la salida al final del archivo especificado |
Salida de error estándar | 2> | Guarde la información del error en el archivo especificado (sobrescriba el contenido original) |
Salida de error estándar | 2 >> | Agrega el mensaje de error al final del archivo especificado |
Salida mixta | &> | Guarde la salida estándar y el contenido de error estándar en el archivo especificado (sobrescriba el contenido original) |
Salida mixta | & >> | Agrega la salida estándar y el error estándar al final del archivo especificado |
Tres variables de shell
3.1 Tipos de variables
Variables personalizadas: definidas, modificadas y utilizadas por el usuario.
Variables especiales: variables de entorno (USER HOME LANG PATH), variables de solo lectura, variables de ubicación ($ 1, $ 2, $ 3 ...), variables predefinidas Variables predefinidas
:
variable | Comentario |
---|---|
PS | El número de variables de posición en la línea de comando. |
PS | El contenido de todas las variables de ubicación |
PS | El estado devuelto después de que se ejecuta el último comando, el valor de estado devuelto es 0 significa que la ejecución es normal, un valor distinto de cero significa anormal o error |
$ 0 | El nombre del proceso / programa actualmente en ejecución (es decir, volver al programa actual) |
PS | Dividir todas las listas de parámetros posicionales |
PS | Trate todas las listas de parámetros posicionales como un todo |
3.2 Puntos a tener en cuenta sobre la asignación de variables
Cuando el nombre de la variable se confunde fácilmente con otros caracteres que le siguen inmediatamente, debe agregar llaves "{}" para encerrar el nombre de la variable ; de lo contrario, no se mostrará el nombre correcto de la variable y la variable no definida se mostrará como un valor nulo.
3.2.1 Comillas dobles (")
Se utiliza principalmente para definir una cadena, cuando el contenido a asignar contiene espacios, debe ir entre comillas dobles, pudiendo omitirse en otros casos.
Puede utilizar el símbolo "$" para hacer referencia al valor de otras variables dentro del rango de comillas dobles.
3.2.2 Comillas simples (')
Dentro del alcance de las comillas simples, los valores de otras variables no se pueden citar y todos los caracteres se tratan como caracteres ordinarios.
3.2.3 Marcación inversa (`)
La comilla invertida debe ser una línea de comando que se pueda ejecutar, es decir, ingresar el contenido de la comilla invertida como un comando en la terminal y luego ingresar el resultado de salida como un nuevo comando en la terminal.
En la figura, "expr" significa cálculo. Se calcula el resultado de "12 + 13" y se obtiene "25". Cuando se ingresa 25 como comando, no se puede encontrar el comando ...
Nota:
Es difícil anidar apóstrofos en varios niveles, puede usar "$ ()" en su lugar.
P.ej:
3.2.4 comando de lectura
El comando de lectura se utiliza para solicitar al usuario que ingrese información para implementar un proceso interactivo simple. Al ejecutar, lea una línea de contenido desde el teclado. Utilice el espacio como separador para asignar los campos de lectura a las variables especificadas sucesivamente.
El comando de lectura se puede combinar con las opciones "-p" y "-t" para configurar el mensaje de solicitud y el tiempo de espera (el valor predeterminado es segundos).
Por ejemplo: hágalo de
nuevo
3.3 Alcance variable
Por defecto, las variables recién definidas son variables locales y solo son válidas en el entorno actual. Al ingresar el comando "bash" para ingresar al entorno de la subshell, las variables locales no estarán disponibles.
La variable especificada se puede exportar como una "variable global" mediante el comando "exportar", se pueden operar varias variables al mismo tiempo y los nombres de las variables están separados por espacios.