Skip to content

Instantly share code, notes, and snippets.

@3rn3st0
Created March 29, 2018 05:32
Show Gist options
  • Save 3rn3st0/fc166b8c93c38606c2e68ad98a3e15c2 to your computer and use it in GitHub Desktop.
Save 3rn3st0/fc166b8c93c38606c2e68ad98a3e15c2 to your computer and use it in GitHub Desktop.
Funciones personalizadas para Zsh/Bash (¡¡¡AÚN SIN PROBAR NI TERMINAR!!!)
created='2018-03-12'
updated='2018-03-12'
version='1.45b'
function acercade() {
echo '3rn3st0 Zsh UDFs v'$version' actualizado el '$updated '\n'
echo 'clone() --> Clona un repositorio Git y lo almacena en '$HOME'/code'
echo 'configura() --> Permite editar los archivos de configuración de las aplicaciones más usadas'
echo 'laranew() --> Crea un nuevo repositorio Laravel (¡NO TERMINADA!)'
echo 'localip() --> Retorna la dirección IP local'
echo 'macaddr() --> Retorna la MAC Address local'
echo 'pathadd() --> Agrega la ruta enviada al PATH'
echo 'phpserver() --> Monta un servidor PHP localmente'
echo 'publicip() --> Retorna la dirección IP pública'
echo 'zshstats() --> Muestra los 20 comandos más usados'
}
# ------------------------------------------------------------------------------
# Monta el contenido del archivo enviado como parámetro en
function pastebinit() {
curl -F c=@- https://ptpb.pw < $1
}
# ------------------------------------------------------------------------------
# Retorna la IP pública del host local
function publicip() {
curl ipinfo.io/ip
}
# ------------------------------------------------------------------------------
# Retorna la MAC Address de la tarjeta enp4s0
function macaddr() {
ip -o link show enp4s0 | sed 's/.*ether \(\S*\).*/\1/g'
}
# ------------------------------------------------------------------------------
# Retorna la IP Address de la tarjeta enp4s0
function localip() {
ip -o addr show enp4s0 | head -n 1 | sed 's/.*inet \(\S*\)\/.*/\1/g'
}
# ------------------------------------------------------------------------------
# Agrega $1 a la ruta base
function pathadd() {
[ -d "$1" ] && [[ ":$PATH:" != *":$1:"* ]] && PATH="${PATH:+"$PATH:"}$1"
}
# ------------------------------------------------------------------------------
# Clona un repositorio desde Github y almacena en ~/code/
function clone() {
case "$1" in
*/*)
target=$HOME/code/$1
mkdir -p "$(dirname "$target")"
git clone "[email protected]:$1" "$target"
cd "$target"
;;
esac
}
# ------------------------------------------------------------------------------
# Crea un nuevo proyecto de Laravel y lo almacena en /srv/http/
# ¡¡¡NO ESTÁ TERMINADO!!!
function laranew() {
httpdir=/srv/http/
echo "Creando nuevo proyecto Laravel: $1"
mkdir $1
cd $1
echo "$2" > index.html
cd ..
sudo mv $1 $httpdir
}
# ------------------------------------------------------------------------------
# Start a PHP server from a directory, optionally specifying the port (Requires PHP 5.4.0+.)
function phpserver() {
local port="${1:-4000}";
local ip=$(ipconfig getifaddr en1);
sleep 1 && open "http://${ip}:${port}/" &
php -S "${ip}:${port}";
}
# ------------------------------------------------------------------------------
# Muestra los 20 comandos más usados
function zshstats() {
fc -l 1 | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n20
}
# ------------------------------------------------------------------------------
# Permite editar los archivos de configuración de las aplicaciones más usadas
# ¡¡¡NO ESTÁ TERMINADO!!!
configura() {
case $1 in
alias) micro ~/.aliases ;;
funcs) micro ~/.funcs ;;
zsh) micro ~/.zshrc ;;
ayuda) echo 'configura <archivo>\n'
echo 'Configuraciones disponibles: alias; funcs; zsh'
echo '' ;;
*) echo "Aplicación desconocida: $1" ;;
esac
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment