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