Cada vez que necesito hacer un pequeño script bash que involucre declaraciones if, verificar si hay variables vacías y archivos inexistentes, etc. Me encuentro buscando en Google algún manual o guía sencilla de bash.
A menudo son demasiado largos y complicados para responder rápidamente a la pregunta que tengo entre manos.
Entonces, estaba pensando que debe haber algún comando o página de manual que cubra la sintaxis básica de bash (para cosas como declaraciones if, verificación de variables vacías, archivos inexistentes, etc.) de una manera breve y accesible. Estoy seguro de que no he descubierto el comando (man bash no parece serlo).
¿Dónde puedo encontrar eso?
Respuesta1
man bash
es la referencia canónica de Bash.help help
le brinda ayuda sobre lahelp
función integrada de Bash y cómo le brinda mensajes breves de ayuda sobre otras funciones integradas de Bash, comohelp for
.- Wiki de Greges el mejor lugar para encontrar material de referencia directo, conciso y, a veces, incluso entretenido, para prácticamente todos los aspectos de Bash.
- Si desea una forma rápida de buscar la sintaxis, puedecontrol de versiones
.bash_history
. Hay demasiados comandos, diferentes sintaxis de parámetros,sed
ruidoawk
de línea y otras cosas como para recordarlo todo, por lo que es bueno tener una referencia personal "bien preparada" conetiquetaspara mirar hacia arriba.
Respuesta2
Puesto que haymuchas cosas así en línea, aquí tienes una sugerencia; Lo uso para todo tipo de cosas.
Crea un directorio $HOME/notes
. Agregue una subcarpeta, bash
. Si no tiene un archivo $HOME/bin
, cree uno, agréguelo a su ruta usando el método que prefiera (por ejemplo: en~/.bashrc
). Luego coloque un script simple allí cmdref.sh
:
#!/bin/bash
if [ -z "$CMREF_DIR" ]; then
CMREF_DIR="$HOME/notes"
fi
cat "$CMREF_DIR/${1}/${2}.txt"
Enlácelo simbólicamente por conveniencia ln -s ~/bin/cmdref.sh ~/bin/cmdref
; Me gusta hacer esto para que puedas editar la cmdref.sh
fuente y un editor aún reconozca el tipo de archivo por el sufijo.
Copie y pegue lo que sea en varios archivos, ~/notes/bash
por ejemplo, podría tener un archivo arrays.txt
, loops.txt
etc. Siempre que sea solo para su uso personal, no está violando los derechos de autor.
Ahora puede usarlo desde la línea de comando, por ejemplo: cmdref bash arrays
y esa hoja de trucos se imprimirá en la consola. Tenga en cuenta que aunque los archivos son .txt
(nuevamente, usar sufijos apropiados es útil para editores, exploradores de archivos, etc.) no debe usarlos cmdref bash arrays.txt
ya que están agregados cmdref.sh
(lo único que hace el script es convertir rutas y agregar el sufijo).
Respuesta3
man bash
cubre todos los aspectos de la sintaxis de bash, por ejemplo if statements
, para string is zero
y non-existent files
, simplemente busque (presione la /
tecla e ingrese lo siguiente) para CONDITIONAL EXPRESSIONS
.