init public scripts repo
This commit is contained in:
commit
3c9aa27076
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
sistema.sh
|
||||
test/
|
238
README.md
Normal file
238
README.md
Normal file
@ -0,0 +1,238 @@
|
||||
# Scripts Publicos
|
||||
|
||||
Selección de scripts de autoria propia
|
||||
|
||||
- [Exploracion de Logs](#buscalog)
|
||||
- [Funciones Git](#funciones-git)
|
||||
- [Funciones Python](#funciones-python)
|
||||
- [Consola de Python a color](#Interprete-a-color)
|
||||
- [Otros](#otros)
|
||||
- [Lol laucher y debug](#rito-pls)
|
||||
|
||||
> NOTA: Funciones ejecutadas con ***alias***
|
||||
> ej: `alias mi_alias='/ruta/a/scritps/script funcion <arg(s)>'`
|
||||
----
|
||||
|
||||
|
||||
# Buscalog
|
||||
|
||||
Script a color, para explorar logs en `/var/log/` y/o directorios agregados en `~/.config/custom_log_dirs`.
|
||||
ej `custom_log_dirs`:
|
||||
```txt
|
||||
/ruta/a/directorio
|
||||
/ruta/a/otro/directorio
|
||||
/ruta/a/otro/directorio/mas
|
||||
```
|
||||
|
||||
> nombres de directorios sin espacios ej `/ruta/a/dir/deLogs`
|
||||
> nombres de directorios terminan en `\n`
|
||||
|
||||
|
||||
Lista los log disponibles (con permiso de lectura) en los directorios mencionados.
|
||||
|
||||
`./buscalog.sh listLog`
|
||||
```txt
|
||||
Selección de Logs :
|
||||
-------------------
|
||||
0) logX
|
||||
1) logXY
|
||||
2) logZ
|
||||
3) logZX
|
||||
4) custom/dir/logA
|
||||
5) custom/dir/logB
|
||||
6) otro/custom/dir/logC
|
||||
s) Salir
|
||||
|
||||
Ver log:
|
||||
```
|
||||
|
||||
Muestra el contenido del log 'seleccionado' en el menu utilizando **bat**, **bat-cat** o **cat**.
|
||||
```txt
|
||||
.... .... ...
|
||||
.... contenido del log
|
||||
.... .... ...
|
||||
```
|
||||
Pie de página con información del log actual, patrón de búsqueda o búsqueda inversa y
|
||||
cantidad de resultados o entradas del log.
|
||||
|
||||
```txt
|
||||
| LOG: /var/log/milog.log | BUSQUEDA: error | ECONTRADOS: 11 |
|
||||
```
|
||||
|
||||
Opciones en vista del log
|
||||
|
||||
| Opción | Detalle |
|
||||
| - | - |
|
||||
| **`v`** volver | Vuelve a la lista principal de logs
|
||||
| **`r`** recargar | Actualiza el log en vista
|
||||
| **`b`** buscar | Búsqueda en el log (escapar caracteres de escape ej. `\\s`)
|
||||
| **`B`** busqueda inversa | Busqueda inversa (escapar caracteres de escape)
|
||||
| **`s`** salir | Termina el programa
|
||||
|
||||
```txt
|
||||
| v)olver | r)ecargar | b)uscar | B)usqueda inversa | s)alir |
|
||||
Opción:
|
||||
```
|
||||
Script: [buscalog.sh](./buscalog.sh)
|
||||
|
||||
----
|
||||
|
||||
# Funciones Git
|
||||
|
||||
Script a color con funciones git y creador de *READMES* en sub-directorios.
|
||||
|
||||
## gitUser()
|
||||
Inicia repositorio como usuario especificado en `~/.config/.gitidents`
|
||||
ej. `.gitidents`
|
||||
```txt
|
||||
UsuarioGit1 user1@git.org keyUser1
|
||||
UsuarioGit2 user2@git.org keyUser2
|
||||
UsuarioGit3 user3@git.org keyUser3
|
||||
UsuarioGit4 user4@git.org keyUser4
|
||||
```
|
||||
> llaves ssh en `~/.ssh/keys/`
|
||||
|
||||
### Listar usuarios agregados
|
||||
`./gitfun.sh gitUser`
|
||||
```txt
|
||||
Debes ingresar un usuario válido!
|
||||
|
||||
Identidades en ~/.config/.gitidents :
|
||||
-> UsuarioGit1
|
||||
-> UsuarioGit2
|
||||
-> UsuarioGit3
|
||||
-> UsuarioGit4
|
||||
m) manual
|
||||
|
||||
╮(︶▽︶)╭
|
||||
```
|
||||
|
||||
### Iniciar repositorio como
|
||||
`./gitfun.sh gitUser UsuarioGit3`
|
||||
```txt
|
||||
( ̄▽ ̄)ノ Iniciando repositorio de UsuarioGit3
|
||||
|
||||
hint: Using 'master' as the name for the initial branch...
|
||||
hint: ... ...
|
||||
hint: ... ...
|
||||
hint: git branch -m <name>
|
||||
Initialized empty Git repository in /tmp/testi/.git/
|
||||
```
|
||||
|
||||
### Iniciar repo manualmente
|
||||
Solicita entrada de nombre, email y llave ssh.
|
||||
|
||||
`.gitfun gitUser m` o `.gitfun gitUser manual`
|
||||
```txt
|
||||
Nombre : Usuario Manual
|
||||
Correo : mail@user.git
|
||||
SSH key: llaveSSH
|
||||
|
||||
Usuario: Usuario Manual Correo: mail@user.git Llave: llaveSSH
|
||||
Iniciar repositorio con estos valores? (s/n/q):
|
||||
```
|
||||
Script: [gitfun.sh](./gitfun.sh)
|
||||
|
||||
----
|
||||
|
||||
# Funciones Python
|
||||
|
||||
## pyVirtEnvSel()
|
||||
|
||||
Lista, crea entornos virtuales, copia al portapapeles la orden para activarlo.
|
||||
|
||||
### Lista entornos virtuales
|
||||
Del directorio **`PyVirtEnvDir`**, especificado en el script.
|
||||
|
||||
`./pythonfun.sh pyVirtEnvSel`
|
||||
```txt
|
||||
Entornos Virtuales Python:
|
||||
|
||||
0) virtEnv
|
||||
1) virtEnv1
|
||||
2) virtEnv2
|
||||
3) virtEnv3
|
||||
|
||||
c) Crear
|
||||
q) Salir
|
||||
|
||||
Ingresa una opción. ->
|
||||
```
|
||||
### Crea entorno virtual
|
||||
ej. ***entornoVirtual5***
|
||||
```
|
||||
Crear nuevo entorno
|
||||
Nombre del entorno -> entornoVirtual5
|
||||
|
||||
Entorno virtual python: [entornoVirtual5] Creado 🐍️
|
||||
```
|
||||
|
||||
### Copia al portapapeles el entorno seleccionado
|
||||
```txt
|
||||
Orden copiada en portapapeles:
|
||||
--------------------------------------------------------------------
|
||||
source /ruta/a/directorio/virtual_envs/entornoVirtual5/bin/activate
|
||||
--------------------------------------------------------------------
|
||||
```
|
||||
|
||||
|
||||
Otras funciones:
|
||||
- \_pip()
|
||||
Uso del modulo **pip_search** como `pip search <busqueda>`
|
||||
|
||||
- pyDebug()
|
||||
*Debugear* archivo `./pythonfun pyDebug <archivo.py>`
|
||||
|
||||
- pyMarkdown()
|
||||
Markdown para terminal `./pythonfun pyMarkdown <archivo.md>`
|
||||
|
||||
- pyMicroCalc()
|
||||
Micro calculadora, ejs. `./pythonfun pyCalc 1+1`, `./pythonfun pyCalc "(1+1)/2"`
|
||||
|
||||
Script: [pythonfun.sh](./pythonfun.sh)
|
||||
|
||||
### Interprete a color
|
||||
|
||||
Color en la consola de python con módulo **rich**. [pyRichRepl.py](./pyRichRepl.py)
|
||||
|
||||
----
|
||||
|
||||
# Otros
|
||||
| Funcion | Explicación |
|
||||
| - | - |
|
||||
|`Caldera()` | Lanza xfce terminal y corre el script [caldera.py](https://gitea.kickto.net/SyDeVoS/Caldera-ino/src/branch/master/scripts#python)|
|
||||
|`Termo()` | Lanza xfce terminal y corre el script [caldera.sh](https://gitea.kickto.net/SyDeVoS/Caldera-ino/src/branch/master/scripts#bash)|
|
||||
|`yutu()` | Busca video pasado como argumento, instancia mpv con el resultado <br> ej. `./otros.sh yutu <video a buscar>`|
|
||||
|`Neo()` | 'Envoltorio' para neofetch <br> `./otros.sh Neo -h` lista logos disponibles <br>`./otros.sh Neo <logo>` ejecuta neofetch con el logo especificado.|
|
||||
|
||||
|
||||
### covStats()
|
||||
|
||||
Estadisticas covid Chile
|
||||
`./otros.sh covStats`
|
||||
```txt
|
||||
Estadisticas COVID Chile 🇨🇱️
|
||||
============================
|
||||
Muertes totales : 0.29 %
|
||||
Muertes contagio: 1.62 %
|
||||
----------------------------
|
||||
Contagios : 3,541,792
|
||||
Activos : 125,059
|
||||
Recuperados : 3,359,382
|
||||
Muertes : 57,351
|
||||
----------------------------
|
||||
```
|
||||
Script [otros.sh](./otros.sh)
|
||||
|
||||
----
|
||||
|
||||
# Rito pls
|
||||
Lanza instancia de [kitty](https://sw.kovidgoyal.net/kitty/) terminal, con 3 splits (ventanas según creador).
|
||||
|
||||
Layout tall:
|
||||
- Ventana 1: `bpytop`
|
||||
- Ventana 2: `tail -f debug.log`
|
||||
- Ventana 3: Lanza league of legends, muestra información del proceso
|
||||
|
||||
Utilidad para monitorear procesos con bpytop, y rastreo de informes/errores en logs de Lutris y Lol.
|
||||
[ritopls](./ritopls): `kitty --start-as maximized --session ritopls &`
|
116
buscalog.sh
Executable file
116
buscalog.sh
Executable file
@ -0,0 +1,116 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
declare -a LOG_DIRS
|
||||
declare -a customLogDirs
|
||||
|
||||
LOGBASEDIR='/var/log';
|
||||
CUSTLOGDIRS="$HOME/.config/custom_log_dirs";
|
||||
ConT=0;
|
||||
|
||||
while read -a LINEA; do
|
||||
customLogDirs+=($LINEA)
|
||||
done < $CUSTLOGDIRS
|
||||
|
||||
while read -a LINEA; do
|
||||
[[ -r "${LINEA}" ]] && LOG_DIRS[$ConT]="${LINEA}" && ((++ConT))
|
||||
done <<< $(\ls -U ${LOGBASEDIR}/*.log 2>/dev/null &&
|
||||
for dir in "${customLogDirs[@]}"; do \ls -U $dir/*.log 2>/dev/null; done; )
|
||||
|
||||
listLog(){
|
||||
clear
|
||||
local cont=0
|
||||
printf '\n \e[1;32mSelección de Logs :\n'
|
||||
printf ' %s\e[0m\n' "-------------------"
|
||||
for str in ${LOG_DIRS[@]}; do
|
||||
printf ' \e[1;34m%s)\e[0m \e[0;32m%s \e[0m\n' "$cont" "${str}" | \
|
||||
sed 's/\/var\/log\///g ; s/\.log//g'
|
||||
((++cont))
|
||||
done
|
||||
printf ' %bs)%b Salir%b\n\n' "\e[1;34m" "\e[1;32m" "\e[0m"
|
||||
local index=${#LOG_DIRS[*]}
|
||||
while :; do
|
||||
printf '%b Ver log:%b ' "\e[1;34m" "\e[0m"
|
||||
read -p '' REPLY
|
||||
case $REPLY in
|
||||
s) exit 0 ;;
|
||||
[0-9]|[0-9][0-9])
|
||||
[[ $REPLY -lt $index ]] &&
|
||||
showLog "${LOG_DIRS[$REPLY]}" ||
|
||||
printf '%bOpción inválida%b\n' "\e[0;31m" "\e[0m"
|
||||
;;
|
||||
*) printf '%bOpción inválida%b\n' "\e[0;31m" "\e[0m";;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
showLog(){
|
||||
clear
|
||||
local SEP='\e[1;37m|'
|
||||
local TITL='\e[1;32m'
|
||||
currentLog="${1}"
|
||||
local nroResults="$(grep -Eic '' "${currentLog}")"
|
||||
if [[ -e /usr/bin/batcat ]]
|
||||
then \batcat --style grid "${currentLog}"
|
||||
elif [[ -e /usr/bin/bat ]]
|
||||
then \bat --style grid "${currentLog}"
|
||||
else
|
||||
cat "${currentLog}"
|
||||
fi
|
||||
printf '\n\e[0;40m%b LOG: %b%s %b ' "${SEP}" "${TITL}" "${1}" "${SEP}"
|
||||
printf 'ENTRADAS: %b%s %b\e[0m' "${TITL}" "${nroResults}" "${SEP}"
|
||||
logMenu "${currentLog}"
|
||||
}
|
||||
|
||||
logResults(){
|
||||
clear
|
||||
local SEP='\e[1;37m|'
|
||||
local TITL='\e[1;32m'
|
||||
currentLog="${1}"
|
||||
if [ $invbusq -gt 0 ]; then
|
||||
local TITBUS='BUSQ. INVERSA'
|
||||
local nroResults="$(grep -Eivc "${2}" "${1}")"
|
||||
grep -Eiv --color=auto "$2" "${1}"
|
||||
else
|
||||
local TITBUS='BUSQUEDA'
|
||||
local nroResults="$(grep -Eic "${2}" "${1}")"
|
||||
grep -Ei --color=auto "$2" "${1}"
|
||||
fi
|
||||
printf '\n\e[0;40m%b LOG: %b%s %b ' "${SEP}" "${TITL}" "${1}" "${SEP}"
|
||||
printf '%s: %b%s %b ' "${TITBUS}" "${TITL}" "${2}" "${SEP}"
|
||||
printf 'ECONTRADOS: %b%s %b\e[0m' "${TITL}" "${nroResults}" "${SEP}"
|
||||
logMenu "${currentLog}"
|
||||
}
|
||||
|
||||
logMenu(){
|
||||
current_log="${1}"
|
||||
local SEP='\e[1;30m|'
|
||||
local IND='\e[1;34m'
|
||||
local TITL='\e[0;32m'
|
||||
printf '\n %b%b v)%bolver %b' "${SEP}" "${IND}" "${TITL}" "${SEP}"
|
||||
printf ' %br)%becargar %b' "${IND}" "${TITL}" "${SEP}"
|
||||
printf ' %bb)%buscar %b' "${IND}" "${TITL}" "${SEP}"
|
||||
printf ' %bB)%busqueda inversa %b' "${IND}" "${TITL}" "${SEP}"
|
||||
printf ' %bs)%balir %b\n' "${IND}" "${TITL}" "${SEP}"
|
||||
while :; do
|
||||
printf '%bOpción:%b' "\e[1;34m" "\e[0m"
|
||||
read -p " " REPLY1
|
||||
case ${REPLY1} in
|
||||
v) listLog ;;
|
||||
b) printf '%bBuscar:%b' "\e[1;34m" "\e[0m"
|
||||
read -p ' ' QUERY
|
||||
invbusq=0
|
||||
logResults "${current_log}" "${QUERY}"
|
||||
;;
|
||||
B) printf '%bBusqueda inversa:%b' "\e[1;34m" "\e[0m"
|
||||
read -p ' ' QUERY
|
||||
invbusq=1
|
||||
logResults "${current_log}" "${QUERY}"
|
||||
;;
|
||||
r) showLog "${currentLog}" ;;
|
||||
s) exit 0 ;;
|
||||
*) printf '%bOpción inválida%b\n' "\e[0;31m" "\e[0m";;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
"$@"
|
88
gitfun.sh
Executable file
88
gitfun.sh
Executable file
@ -0,0 +1,88 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Script para iniciar y configurar repositorios Git
|
||||
|
||||
REd="\e[31m"; GRn="\e[32m"; ORn="\e[33m";
|
||||
FND="\e[40m"; RED="\e[1;31m"; GRN="\e[1;32m";
|
||||
MGNT="\e[1;35m"; IND="\e[1;34m"; RST="\e[0m";
|
||||
|
||||
iniciarepo() {
|
||||
printf '\n%b %b( ̄▽ ̄)ノ%b Iniciando ' "${FND}" "${MGNT}" "${GRN}"
|
||||
printf 'repositorio de %b%s%b\n\n' "${IND}" "${1}" "${RST}"
|
||||
git init &&
|
||||
git config --local user.name "$1" &&
|
||||
git config --local user.email "$2" &&
|
||||
git config --local core.sshCommand "ssh -i ~/.ssh/keys/${3} -F /dev/null"
|
||||
}
|
||||
|
||||
|
||||
gitUser(){
|
||||
if [ -e $HOME/.config/.gitidents ]; then
|
||||
GitIdents=$HOME/.config/.gitidents
|
||||
else
|
||||
printf '%bArchivo no encontrado!: %b%s~/.config/.gitidents ' \
|
||||
"${RED}" "${RST}${GRn}" "${HOME}" && exit 0
|
||||
fi
|
||||
case "$1" in
|
||||
m|manual)
|
||||
manualGit ;;
|
||||
*)
|
||||
while read LINE; do
|
||||
[[ $(printf '%s\n' "${LINE}" | cut -d' ' -f1) = ${1} ]] &&
|
||||
identidad=($LINE) &&
|
||||
iniciarepo "${identidad[0]}" "${identidad[1]}" "${identidad[2]}" &&
|
||||
exit 0;
|
||||
done < $GitIdents
|
||||
printf '\n %bDebes ingresar un usuario válido!\n\n' "${RED}"
|
||||
printf ' %b%bIdentidades en %b~/.config/.gitidents %b:' \
|
||||
"${RST}" "${GRn}" "${RST}" "${GRn}"
|
||||
for LINE in $(cut -d' ' -f1 $GitIdents); do
|
||||
printf '\n\t%b-> %b%s' "${IND}" "${GRN}" "${LINE}"
|
||||
done
|
||||
printf '\n\t%bm) %bmanual\n' "${IND}" "${GRN}"
|
||||
printf '\n\t%b╮(︶▽︶)╭ %b\n' "${MGNT}" "${RST}"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
manualGit(){
|
||||
#local salir=0
|
||||
while :; do
|
||||
printf '%bNombre :%b ' "${GRN}" "${RST}"
|
||||
read -p '' nombre
|
||||
printf '%bCorreo :%b ' "${GRN}" "${RST}"
|
||||
read -p '' email
|
||||
printf '%bSSH key:%b ' "${GRN}" "${RST}"
|
||||
read -p '' sshkey
|
||||
printf '\nUsuario: %b%s %b' "${GRN}" "${nombre}" "${RST}"
|
||||
printf 'Correo: %b%s%b ' "${GRN}" "${email}" "${RST}"
|
||||
printf 'Llave: %b%s%b\n' "${GRN}" "${sshkey}" "${RST}"
|
||||
read -p'ok? s/n/q: ' confirma
|
||||
case "${confirma}" in
|
||||
s|S) iniciarepo "${nombre}" "${email}" "${sshkey}" && exit 0 ;;
|
||||
q|Q) exit 0 ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
# Invoca 'touch README.md' en los directorios a un sub-nivel del actual
|
||||
# ej. nombres de directorios: 'mi_dir/' 'mi dir con espacios/'
|
||||
crea_readmes() {
|
||||
for CARP in */
|
||||
do
|
||||
if [ -d "${CARP}" ]; then
|
||||
if [ -f "${CARP}"README.md ]; then
|
||||
printf '%b omitiendo %s %b\n' "${ORn}" "${CARP}" "${RST}"
|
||||
else
|
||||
touch "${CARP}"README.md &&
|
||||
printf '%b%sREADME.md creado%b\n' "${GRn}" "${CARP}" "${RST}"
|
||||
fi
|
||||
else
|
||||
print '%s %bno es un directorio válido%b\n' "${CARP}" "${REd}" "${RST}"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
"$@"
|
86
otros.sh
Executable file
86
otros.sh
Executable file
@ -0,0 +1,86 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
Caldera(){
|
||||
xfce4-terminal --geometry 27x22+850+350 --hide-toolbar --hide-borders --hide-menubar \
|
||||
--working-directory $HOME/Arduino/Proyectos/termoRat/scripts/ \
|
||||
--execute $HOME/Arduino/Proyectos/termoRat/scripts/caldera.py
|
||||
}
|
||||
|
||||
Termo(){
|
||||
xfce4-terminal --geometry 30x24+850+350 --hide-toolbar --hide-borders --hide-menubar \
|
||||
--working-directory $HOME/Arduino/Proyectos/termoRat/scripts/ \
|
||||
--execute $HOME/Arduino/Proyectos/termoRat/scripts/caldera.sh
|
||||
}
|
||||
|
||||
Neo(){
|
||||
Imprime_Logos(){
|
||||
printf "LOGOS: "
|
||||
awk '/ascii_distro/{flag=1;next} /ascii_bold/{flag=0} flag {print}' \
|
||||
<<< "$(neofetch --help)" |
|
||||
sed 's/^ */\t/'
|
||||
}
|
||||
|
||||
case "${1}" in
|
||||
"-h")
|
||||
Imprime_Logos
|
||||
;;
|
||||
*)
|
||||
clear && neofetch --ascii_distro "$1"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
yutu(){
|
||||
local BUSQUEDA="$*"
|
||||
local BUSQUEDA="${BUSQUEDA// /+}"
|
||||
mpv "https://youtube.com/$(curl -s "https://vid.puffyan.us/search?q=${BUSQUEDA}" | \
|
||||
grep -Eo "watch\?v=.{11}" | head -n 1)" &
|
||||
}
|
||||
|
||||
kaltest() {
|
||||
[[ -n $1 ]] && local pmes=$1 || local pmes=0
|
||||
[[ -n $2 ]] && local mesp=$2 || local mesp=$(date '+%Y')
|
||||
cal -m -n $pmes -S $mesp
|
||||
}
|
||||
|
||||
|
||||
covStats(){
|
||||
lolcat <<< $(
|
||||
# Cache https
|
||||
[ "$(stat -c %y ~/.cache/corona 2>/dev/null | cut -d' ' -f1)" != "$(date '+%Y-%m-%d')" ] &&
|
||||
curl -s https://corona-stats.online?source=2 | \
|
||||
sed -r "s/\x1B\[([0-9]{1,3}(;[0-9]{1,2})?)?[mGK]//g" > ~/.cache/corona
|
||||
|
||||
# Estadisticas covid Chile
|
||||
declare Vars
|
||||
Vars="$(grep "Chile" ~/.cache/corona |
|
||||
sed "s/\s*//g ; s/║//g ; s/│/;/g " |
|
||||
sed "s/(CL)//g" | awk -F';' '{print $3" "$7" "$5" "$8}')"
|
||||
Contag=$(cut -d' ' -f1 <<< $(echo ${Vars}))
|
||||
Recupe=$(cut -d' ' -f2 <<< $(echo ${Vars}))
|
||||
Muerte=$(cut -d' ' -f3 <<< $(echo ${Vars}))
|
||||
Activo=$(cut -d' ' -f4 <<< $(echo ${Vars}))
|
||||
Murtio=$(echo "${Muerte}" | sed 's/,//g')
|
||||
Conteg=$(echo $Contag | sed 's/,//g')
|
||||
|
||||
# Población Chile
|
||||
PoblT=19678310
|
||||
|
||||
# Muertes
|
||||
Mtota="$(python3 -c "print('{:.2f}'.format(100*$Murtio/$PoblT))")"
|
||||
Mcont="$(python3 -c "print('{:.2f}'.format(100*$Murtio/$Conteg))")"
|
||||
|
||||
# Vista
|
||||
printf '\n Estadisticas COVID Chile 🇨🇱️ \n'
|
||||
printf ' ============================\n'
|
||||
printf ' Muertes totales :\e[1;36m %s %%\e[0m\n' "$Mtota"
|
||||
printf ' Muertes contagio:\e[1;32m %s %%\e[0m\n' "$Mcont"
|
||||
printf '%s\n' " ----------------------------"
|
||||
printf ' Contagios : %s \n Activos : %s \n Recuperados : %s \n Muertes :\e[1;32m %s \e[0m\n' \
|
||||
"${Contag}" "${Activo}" "${Recupe}" "${Muerte}"
|
||||
printf '%s\n\n' " ----------------------------"
|
||||
)
|
||||
}
|
||||
|
||||
"$@"
|
5
pyRichRepl.py
Executable file
5
pyRichRepl.py
Executable file
@ -0,0 +1,5 @@
|
||||
from rich import pretty
|
||||
from rich.console import Console
|
||||
|
||||
pretty.install()
|
||||
print = Console().print
|
89
pythonfun.sh
Executable file
89
pythonfun.sh
Executable file
@ -0,0 +1,89 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
#########################################
|
||||
# Entornos Virtuales
|
||||
#########################################
|
||||
PyVirtEnvsDir=$HOME/Python/.virtualenvs/
|
||||
|
||||
creaPyVirtEnv(){
|
||||
[[ -n ${1} ]] &&
|
||||
python3 -m venv ${PyVirtEnvsDir}${1} &&
|
||||
printf '\nEntorno virtual python: [%s] Creado 🐍️\n' "${1}" ||
|
||||
printf '\nDebes ingresar un nombre 🙄️\n'
|
||||
}
|
||||
|
||||
activaVenv(){
|
||||
printf 'source %s%s/bin/activate' "${PyVirtEnvsDir}" "${1}" | xclip
|
||||
printf '\n Orden copiada en portapapeles:\n'
|
||||
printf '%s\n' "--------------------------------------------------------------------"
|
||||
printf 'source %s%s/bin/activate' "${PyVirtEnvsDir}" "${1}"
|
||||
printf '\n%s\n' "--------------------------------------------------------------------"
|
||||
}
|
||||
|
||||
pyVirtEnvSel(){
|
||||
declare -a ListVenv
|
||||
local ConT
|
||||
printf "\n Entornos Virtuales Python:\n\n"
|
||||
for VirtEnv in $(ls $PyVirtEnvsDir)
|
||||
do
|
||||
ListVenv[$ConT]="$VirtEnv"
|
||||
printf "\t%d) %s\n" "$ConT" "$VirtEnv"
|
||||
((ConT++))
|
||||
done
|
||||
printf '\n\tc) Crear\n'
|
||||
printf '\tq) Salir\n'
|
||||
printf '\n Ingresa una opción.'
|
||||
read -p " -> "
|
||||
case $REPLY in
|
||||
c)
|
||||
printf '\n Crear nuevo entorno'
|
||||
printf '\n Nombre del entorno'
|
||||
read -p " -> " NOMBRE_ENTORNO
|
||||
creaPyVirtEnv "${NOMBRE_ENTORNO}"
|
||||
;;
|
||||
q)
|
||||
printf ' Salir\n'
|
||||
exit 0
|
||||
;;
|
||||
[[:digit:]])
|
||||
if [ $REPLY -ge 0 ] && [ $REPLY -lt ${#ListVenv[@]} ]
|
||||
then
|
||||
activaVenv "${ListVenv[$REPLY]}"
|
||||
else
|
||||
printf ' Inexistente\n'
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
printf ' Entrada invalida\n'
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
#########################################
|
||||
# OTRAS FUNCIONES
|
||||
#########################################
|
||||
|
||||
_pip(){
|
||||
[[ $1 = "search" ]] && pip_search "$2" || pip "$@"
|
||||
}
|
||||
|
||||
pyDebug(){
|
||||
if [ -s ${1} ]; then
|
||||
python -m pdb -c continue ${1}
|
||||
else
|
||||
printf 'Archivo [%s] invalido' "${1}"
|
||||
fi
|
||||
}
|
||||
|
||||
pyMarkdown(){
|
||||
python -m rich.markdown -y -c -p ${1} | bat --style header,grid
|
||||
}
|
||||
|
||||
pyMicroCalc(){
|
||||
python -c "print(${@})"
|
||||
}
|
||||
|
||||
"$@"
|
6
ritopls
Normal file
6
ritopls
Normal file
@ -0,0 +1,6 @@
|
||||
new_tab 'Lutris LoL'
|
||||
title ' Lutris LoL '
|
||||
launch bash -c 'bpytop && exit'
|
||||
launch bash -c 'tail -f $HOME/Biblio/LutrisLibrary/league-of-legends/drive_c/Riot\ Games/League\ of\ Legends/debug.log'
|
||||
launch bash -c 'lutris lutris:rungameid/2 && exit'
|
||||
enabled_layouts tall:bias=60;full_size=1
|
Loading…
Reference in New Issue
Block a user