Es necesario editar el archivo de configuración ".bashrc"
vim ~/.bashrc
vim /etc/bashrc
Con el siguiente script en ~/.bashrc
podrás generar scripts de forma muy sencilla mientras ejecutas las ordenes cómo haces comunmente.
script_begin() {
if [[ $# -gt 0 ]]; then
CAPTURE_FILE="${1%.sh}.sh"
else
CAPTURE_FILE="capture_$(date +%Y%m%d_%H%M%S).sh"
fi
export CAPTURE_FILE="capture_$(date +%Y%m%d_%H%M%S).sh"
echo "#!/usr/bin/env bash" > "$CAPTURE_FILE"
# Add command after execution
trap '[[ $BASH_COMMAND != $PROMPT_COMMAND ]] && echo "$BASH_COMMAND" >> "$CAPTURE_FILE"' DEBUG
echo "Start scripting to $CAPTURE_FILE"
}
# 2. stop_capture: stop trap DEBUG and asign permissions
# 2. stop_capture: detiene el trap DEBUG y da permisos de ejecución
script_end() {
trap - DEBUG
chmod +x "$CAPTURE_FILE"
echo "Great your script is st: $CAPTURE_FILE"
}
# Aliases opcionales
alias scriptdev='script_begin'
alias scriptundev='script_end'
alias scriptend='script_end'
Su uso es sencillo solo tiene que ejecutar esto al inicio y al final de la secuencia.
#inicio secuencia
bash~>$ scriptdev $nombre_script_o_nada_y_se_genera_solo
bash~>$ echo "Esto es parte del script"
bash~>$ apt install python3-pip python3-full python3-venv
bash~>$ python3 -m .venv /opt/.venv_example
bash~>$ source .venv/bin/activate
bash~>$ python3 -m pip install -U pip
bash~>$ pip install easysetup setuptools wheel whl
bash~>$ scriptend