Soporte para bash
This commit is contained in:
parent
5b1d745621
commit
f45c514794
180
aliases.sh
180
aliases.sh
|
@ -1,8 +1,13 @@
|
|||
# Alias
|
||||
# Aliases
|
||||
|
||||
## Variables de ambiente
|
||||
|
||||
VENV=.venv
|
||||
FONT_DIR=$HOME/.fonts
|
||||
OZSH_ALIAS=$HOME/.oh-my-zsh/custom/aliases.zsh
|
||||
BASH_ALIAS=$HOME/.bash_aliases
|
||||
RLOC_ALIAS=$HOME/Repositorios/aliases/aliases.sh
|
||||
REPO_ALIAS=https://gitlab.com/perrotuerto_personal/codigo/aliases/-/raw/no-masters/aliases.sh
|
||||
|
||||
## Eliminación de alias previos
|
||||
|
||||
|
@ -78,7 +83,6 @@ alias rastrear-todo='find / -iname'
|
|||
alias trace-all='rastrear-todo'
|
||||
alias copiar='xclip -selection clipboard <'
|
||||
alias copy='copiar'
|
||||
alias recargar='source $HOME/.zshrc'
|
||||
alias refresh='recargar'
|
||||
alias install='instalar'
|
||||
alias uninstall='desinstalar'
|
||||
|
@ -108,27 +112,36 @@ alias acuario='asciiquarium'
|
|||
alias tren='sl'
|
||||
alias fantasma='oneko &'
|
||||
|
||||
## Detecta tipo de distribución
|
||||
## Funciones
|
||||
|
||||
### Detecta tipo de distribución
|
||||
|
||||
distro-name () {
|
||||
DIST_NAME=$(awk -F= '/^NAME/{print $2}' /etc/os-release)
|
||||
echo $DIST_NAME | sed 's/"//g'
|
||||
echo $(awk -F= '/^NAME/{print $2}' /etc/os-release) | sed 's/"//g'
|
||||
}
|
||||
|
||||
## Actualizador
|
||||
### Imprime errores
|
||||
|
||||
echo-error () {
|
||||
echo "ERROR: $1"
|
||||
return 1
|
||||
}
|
||||
|
||||
### Actualizador
|
||||
|
||||
actualizar () {
|
||||
DIST=$(distro-name)
|
||||
case $1 in
|
||||
alias | aliases)
|
||||
echo "Actualizando alias"
|
||||
curl -o $HOME/.oh-my-zsh/custom/aliases.zsh \
|
||||
https://gitlab.com/perrotuerto_personal/codigo/aliases/-/raw/no-masters/aliases.sh
|
||||
curl -o $BASH_ALIAS $REPO_ALIAS
|
||||
if [ -f "$OZSH_ALIAS" ]; then
|
||||
cp $BASH_ALIAS $OZSH_ALIAS
|
||||
fi
|
||||
recargar
|
||||
;;
|
||||
paquetes | packages)
|
||||
echo "Actualizando paquetes"
|
||||
if [[ ${DIST} = "Arch Linux" ]]; then
|
||||
if [[ $(distro-name) = "Arch Linux" ]]; then
|
||||
sudo pacman -Syy
|
||||
sudo pacman -S archlinux-keyring
|
||||
else
|
||||
|
@ -137,13 +150,23 @@ actualizar () {
|
|||
;;
|
||||
todo | sistema | all | system)
|
||||
echo "Actualizando sistema"
|
||||
if [[ ${DIST} = "Arch Linux" ]]; then
|
||||
if [[ $(distro-name) = "Arch Linux" ]]; then
|
||||
yay -Su
|
||||
else
|
||||
sudo apt upgrade
|
||||
fi
|
||||
;;
|
||||
-h | --help | help | ayuda)
|
||||
actualizar-help ;;
|
||||
*)
|
||||
actualizar alias
|
||||
actualizar paquetes
|
||||
actualizar sistema
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
actualizar-help () {
|
||||
echo "actualizar: utilidad para hacer actualizaciones.
|
||||
|
||||
Uso:
|
||||
|
@ -162,31 +185,22 @@ Ejemplos:
|
|||
actualizar -h
|
||||
actualizar todo
|
||||
actualizar"
|
||||
;;
|
||||
*)
|
||||
actualizar alias
|
||||
actualizar paquetes
|
||||
actualizar sistema
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
## Instalador
|
||||
### Instalador
|
||||
|
||||
instalar (){
|
||||
DIST=$(distro-name)
|
||||
if [[ ${DIST} = "Arch Linux" ]]; then
|
||||
if [[ $(distro-name) = "Arch Linux" ]]; then
|
||||
yay -Syy $@
|
||||
else
|
||||
sudo apt install $@
|
||||
fi
|
||||
}
|
||||
|
||||
## Desinstalador
|
||||
### Desinstalador
|
||||
|
||||
desinstalar (){
|
||||
DIST=$(distro-name)
|
||||
if [[ ${DIST} = "Arch Linux" ]]; then
|
||||
if [[ $(distro-name) = "Arch Linux" ]]; then
|
||||
yay -Rss $@
|
||||
else
|
||||
sudo apt purge $@
|
||||
|
@ -195,26 +209,51 @@ desinstalar (){
|
|||
fi
|
||||
}
|
||||
|
||||
## Gestión de alias
|
||||
### Gestión de alias
|
||||
|
||||
aliases () {
|
||||
ALIAS_FILE=~/.oh-my-zsh/custom/aliases.zsh
|
||||
case $1 in
|
||||
actualizar | update)
|
||||
actualizar aliases
|
||||
;;
|
||||
ver | see)
|
||||
c $ALIAS_FILE
|
||||
echo $OZSH_ALIAS
|
||||
c $OZSH_ALIAS
|
||||
;;
|
||||
editar | edit)
|
||||
v $ALIAS_FILE
|
||||
v $OZSH_ALIAS
|
||||
;;
|
||||
enlazar | link)
|
||||
if [ -f "$RLOC_ALIAS" ]; then
|
||||
if [ -f "$OZSH_ALIAS" ]; then
|
||||
ln -fs $RLOC_ALIAS $OZSH_ALIAS
|
||||
else
|
||||
ln -fs $RLOC_ALIAS $BASH_ALIAS
|
||||
fi
|
||||
recargar
|
||||
else
|
||||
echo-error "no se encontró archivo '$RLOC_ALIAS' para copia."
|
||||
fi
|
||||
;;
|
||||
-h | --help | help | ayuda)
|
||||
aliases-help ;;
|
||||
*)
|
||||
alias
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
aliases-help () {
|
||||
echo "aliases: utilidad para hacer gestionar alias.
|
||||
|
||||
Uso:
|
||||
aliases [OPT]
|
||||
|
||||
Opciones:
|
||||
ver | see Muestra contenido de archivo de alias.
|
||||
editar | edit Edita alias.
|
||||
actualizar | update Actualiza aliases.
|
||||
ver | see Muestra contenido de archivo de aliases.
|
||||
editar | edit Edita aliases.
|
||||
enlazar | link Genera enlace simbólico entre repo 'aliases' y archivo de aliases.
|
||||
-h | --help | help | ayuda Despliega esta ayuda.
|
||||
vacío Uso regular de 'alias'.
|
||||
|
||||
|
@ -223,36 +262,21 @@ Ejemplos:
|
|||
aliases editar
|
||||
aliases -h
|
||||
aliases"
|
||||
;;
|
||||
*)
|
||||
alias
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
### Un árbol que es a tree lo que lsd es a ls
|
||||
### Recarga aliases
|
||||
|
||||
tre () {
|
||||
DEPTH=1000
|
||||
DIR="."
|
||||
if [ -d "${@:$#}" ]; then
|
||||
DIR="${@:$#}"
|
||||
recargar () {
|
||||
if [ -f "$OZSH_ALIAS" ]; then
|
||||
source $HOME/.zshrc
|
||||
else
|
||||
source $HOME/.bashrc
|
||||
fi
|
||||
while getopts ":L:" opt; do
|
||||
case $opt in
|
||||
L) DEPTH=$OPTARG
|
||||
;;
|
||||
\?) echo "Opción inválida -$OPTARG" >&2
|
||||
;;
|
||||
esac
|
||||
done
|
||||
lsd -l --tree --size=short --blocks=size,name --depth=$DEPTH $DIR
|
||||
}
|
||||
|
||||
## Instalador de fuentes
|
||||
|
||||
font-add () {
|
||||
FONT_DIR=$HOME/.fonts
|
||||
if [ ! -d "$FONT_DIR" ]; then
|
||||
mkdir $FONT_DIR
|
||||
fi
|
||||
|
@ -287,8 +311,12 @@ md () {
|
|||
leer | read | ver | cat | c)
|
||||
glow -w 80 -p $2 ;;
|
||||
-h | --help | help | ayuda)
|
||||
echo "
|
||||
md: utilidad para hacer gestionar archivos Markdown.
|
||||
md-help ;;
|
||||
esac
|
||||
}
|
||||
|
||||
md-help () {
|
||||
echo "md: utilidad para hacer gestionar archivos Markdown.
|
||||
|
||||
Uso:
|
||||
md [OPT]
|
||||
|
@ -302,49 +330,52 @@ Opciones:
|
|||
Ejemplos:
|
||||
md formatear archivo.md
|
||||
md convertir archivo.md a archivo.html
|
||||
md ayuda
|
||||
" ;;
|
||||
esac
|
||||
md ayuda"
|
||||
}
|
||||
|
||||
## Desactiva o activa virtualenv
|
||||
|
||||
check_venv () {
|
||||
VENV_ACT=$VENV/bin/activate
|
||||
check-venv () {
|
||||
type deactivate &>/dev/null && deactivate
|
||||
if [ -f "$VENV_ACT" ]; then
|
||||
source $VENV_ACT
|
||||
if [ -f "$VENV/bin/activate" ]; then
|
||||
source $VENV/bin/activate
|
||||
fi
|
||||
}
|
||||
|
||||
check_venv # Ejecuta cuando se carga
|
||||
check-venv # Ejecuta cuando se carga
|
||||
|
||||
## Agrega y arranca virtualenv
|
||||
|
||||
venv () {
|
||||
virtualenv $VENV
|
||||
check_venv
|
||||
check-venv
|
||||
}
|
||||
|
||||
## Modifica comportamiento de cd
|
||||
|
||||
cd () {
|
||||
builtin cd $1
|
||||
check_venv
|
||||
check-venv
|
||||
}
|
||||
|
||||
## Embellece y verifica código
|
||||
|
||||
pymp () {
|
||||
FORMAT=false
|
||||
CHECK=true
|
||||
case $1 in
|
||||
-f | formatear | format)
|
||||
black --line-length 80 ${@:$#} ;;
|
||||
-h | --help | help | ayuda)
|
||||
CHECK=false
|
||||
echo "
|
||||
pymp: utilidad para enchular código de Python.
|
||||
pymp-help ;;
|
||||
esac
|
||||
if [ ! -d "${@:$#}" ] && [ ! -f "${@:$#}" ]; then
|
||||
echo-error "último argumento debe ser un fichero existente."
|
||||
fi
|
||||
flake8 --max-line-length 80 ${@:$#}
|
||||
vulture ${@:$#}
|
||||
}
|
||||
|
||||
pymp-help () {
|
||||
echo "pymp: utilidad para enchular código de Python.
|
||||
|
||||
Uso:
|
||||
pymp [OPT] [FILE|DIR]
|
||||
|
@ -356,15 +387,6 @@ Opciones:
|
|||
Ejemplos:
|
||||
pymp archivo.py
|
||||
pymp formatear .
|
||||
pymp ayuda
|
||||
" ;;
|
||||
esac
|
||||
if [ ! -d "${@:$#}" ] && [ ! -f "${@:$#}" ]; then
|
||||
echo "ERROR: último argumento debe ser un fichero, ¿lo escribiste correctamente?"
|
||||
return 1
|
||||
fi
|
||||
if [ "$CHECK" = true ]; then
|
||||
flake8 --max-line-length 80 ${@:$#}
|
||||
vulture ${@:$#}
|
||||
fi
|
||||
pymp ayuda"
|
||||
return 0
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue