Ejemplos de consejos y trucos de comandos de comandos útiles - Parte 3
- 1440
- 210
- Claudia Baca
Bash es una interfaz de shell variada con muchas opciones de programación y un rico lenguaje de instrucción. Es fácil perderse las características y la dinámica de Bash, por lo que esta serie presenta una serie de consejos, trucos, ejemplos y gotchas cuando se trata de usar Bash. Para los dos primeros artículos de esta serie, consulte nuestro artículo Consejos y trucos de comandos útiles Ejemplos de la línea de comandos Parte 2 y útiles de la línea de comandos Bash Bash Ejemplos Parte 3.
En esta serie tutorial aprenderás:
- Consejos, trucos y métodos de comandos de comandos útiles
- Cómo interactuar con la línea de comandos de Bash de manera avanzada
- Cómo afilar sus habilidades de Bash en general y convertirse en un usuario bash más competente
Requisitos y convenciones de software utilizados
Categoría | Requisitos, convenciones o versión de software utilizada |
---|---|
Sistema | Independiente de la distribución de Linux |
Software | Línea de comando bash, sistema basado en Linux |
Otro | Cualquier utilidad que no esté incluida en el shell bash de forma predeterminada se puede instalar utilizando sudo apt-get instalación de utilidad de utilidad (o yum instalación para sistemas basados en redhat) |
Convenciones | # - requiere que los comandos de Linux se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio$-Requiere que los comandos de Linux se ejecuten como un usuario regular no privilegiado |
Ejemplo 1: Verificar correctamente la existencia de archivos y directorios
Podemos verificar la presencia de un directorio con bastante facilidad utilizando el -d
(¿Existe un directorio con el nombre especificado) Cláusula en un si
declaración:
$ MypathtoCheckfeforexistence = "$ pwd" $ echo "$ myPathtoCheckforexistence"/home/roel/iamhappy $ if [-d $ myPathToCheckforexistence]; Entonces Echo "existe!"; Fi existe!
Sin embargo, es igualmente fácil cometer un error difícil de debilitar en algunas áreas de Bash. Por ejemplo, consideremos (y veamos si puede encontrar el error);
$ MyPathTcheckfeforexistance = "/doesnotReallyExist" $ if [-d $ myPathtoCheckforexistence]; Entonces Echo "existe!"; Fi existe! $ ls /doesnotreallyExist ls: no se puede acceder ' /doesnotRealLyExist': no hay dicho archivo o directorio
¿Por qué hace el si
verificar llegar a la conclusión de que el /no esotrealyexist
El directorio existe? ¿Puedes ver el error??
El problema aquí es que hay un error tipográfico en el nombre de la variable. Existencia
VS EXISTENCIA
…
Quizás un poco descarado, pero con toda seriedad esto también debería ser muy fácil de encontrar con Gotcha:
$ if [-d]; Entonces Echo "existe!"; Fi existe!
Y más significativamente;
$ Var1 = "; if [-d $ var1]; entonces echo" existe!"; Fi existe!
Por lo tanto, si olvida la inicializar la variable de nombre del directorio que posteriormente está revisando, o el nombre de la variable está mal escrito, entonces el resultado será que la fiesta si
declaraciones devueltas que existe el directorio! No hay más mención sobre esta interesante excepción en el manual (reflex Hombre Bash
) que solo aclara que -d
es Verdadero si el archivo existe y es un directorio..
Entonces, ¿cómo podemos arreglar esto??
Ejemplo 2: Una mejor manera de verificar la existencia de archivos y directorios
La solución es fácil; Podemos citar nuestra variable con cotizaciones dobles ("
), que luego hará el si
no es predeterminado al resultado siempre-verdad. Como una nota al margen interesante para un mejor pensamiento, y tal vez su comentario conocedor a continuación en el mismo efecto, uno tiene que preguntarse por qué se implementó así y cuál es la implementación subyacente siempre en realidad.
$ Var1 = "; if [-d" $ var1 "]; entonces echo" existe!"; fi $
Una solución simple y elegante. En vez de si
declaración ahora siendo analizada como Si [-d]
que, como hemos visto, siempre se evalúa de verdad, ahora se analiza como (siempre que Var1
está vacío al menos) if [-d ""]
que resulta en falso y, por lo tanto, el entonces
La cláusula no se ejecuta.
Ejemplo 3: Alguna vez quería extraer el contenido de un .archivo deb?
A veces, algo se rompe en un sistema, y es posible que deseemos obtener un solo archivo de un .debutante
paquete. .debutante
Los paquetes (paquetes de instalación de estilo Debian, como lo utilizan Ubuntu y Mint) se pueden encontrar fácilmente en línea, pero no siempre es tan evidente como para extraer archivos de él. Para hacerlo, podemos:
ar x some_deb_file.deb DAR -XF Datos.alquitrán.xz
Arkansas
es una herramienta para crear, modificar y extraer de los archivos, como el manual (hombre ar
) explica. Estos comandos producirán los archivos dentro del .debutante
paquete. Cada .debutante
El archivo tendrá dos archivos de archivo, a saber control.alquitrán.xz
y datos.alquitrán.xz
(un estándar común) y, como puede ver en el ejemplo, es el datos.alquitrán.xz
Archivo que debe ampliarse para ver los archivos dentro del .debutante
paquete.
Conclusión
En este artículo, exploramos formas de verificar correctamente la existencia de archivos y directorios mediante el uso de cotizaciones adecuadas, y ejemplificamos cómo es fácil cometer errores en esta área. Siempre pruebe sus scripts y pruebe una variedad de situaciones y escenarios diferentes. También analizamos cómo podemos extraer contenido de un .debutante
archivo usando el Arkansas
y alquitrán
comandos. Como siempre, disfruta de la codificación de bash y déjanos un comentario a continuación con tus hallazgos!
- Ejemplos de consejos y trucos de comandos de comandos útiles - Parte 1
- Ejemplos de consejos y trucos de comandos de comandos útiles - Parte 2
- Ejemplos de consejos y trucos de comandos de comandos útiles - Parte 3
- Ejemplos de consejos y trucos de comandos de comandos útiles - Parte 4
- Ejemplos de consejos y trucos de comandos de comandos útiles - Parte 5
Tutoriales de Linux relacionados:
- Una introducción a la automatización, herramientas y técnicas de Linux
- Mastering Bash Script Loops
- Ejemplos de consejos y trucos de comandos de comandos útiles - Parte 1
- Ejemplos de consejos y trucos de comandos de comandos útiles - Parte 2
- Ejemplos de consejos y trucos de comandos de comandos útiles - Parte 4
- Cosas para instalar en Ubuntu 20.04
- Ubuntu 20.04 trucos y cosas que quizás no sepas
- Bucles anidados en guiones Bash
- Ubuntu 20.04 Guía
- Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
- « Ejemplos de consejos y trucos de comandos de comandos útiles - Parte 2
- Ejemplos de consejos y trucos de comandos de comandos útiles - Parte 4 »