[IMPROVED] Añadir alias 'fj' para berg en fj_login.sh
- Crear alias 'fj' que apunta a 'berg' al iniciar sesión - Eliminar alias cuando se cierra sesión (--logout) - Implementar funciones create_fj_alias() y remove_fj_alias() - Usar script de shell y enlaces simbólicos para crear el alias - Manejar diferentes ubicaciones según permisos (/usr/local/bin o ~/.local/bin) - Proporcionar instrucciones para añadir ~/.local/bin al PATH si es necesario 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
1cbb1e0b3a
commit
af8758164b
1 changed files with 59 additions and 1 deletions
|
@ -107,6 +107,57 @@ get_forgejo_url() {
|
|||
fi
|
||||
}
|
||||
|
||||
# Función para crear alias fj para berg
|
||||
create_fj_alias() {
|
||||
local alias_file="$HOME/.fj_alias"
|
||||
|
||||
# Crear alias global fj -> berg
|
||||
echo '#!/bin/bash' > "$alias_file"
|
||||
echo 'berg "$@"' >> "$alias_file"
|
||||
chmod +x "$alias_file"
|
||||
|
||||
# Crear enlace simbólico en /usr/local/bin si tiene permisos
|
||||
if [ -w "/usr/local/bin" ]; then
|
||||
sudo ln -sf "$alias_file" /usr/local/bin/fj
|
||||
echo "Alias global 'fj' creado en /usr/local/bin/fj"
|
||||
else
|
||||
# Intentar crear en ~/.local/bin como alternativa
|
||||
mkdir -p "$HOME/.local/bin"
|
||||
ln -sf "$alias_file" "$HOME/.local/bin/fj"
|
||||
|
||||
# Asegurarse de que ~/.local/bin esté en PATH
|
||||
if [[ ":$PATH:" != *":$HOME/.local/bin:"* ]]; then
|
||||
echo "Añadiendo $HOME/.local/bin a PATH para esta sesión"
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
echo "NOTA: Para que el alias 'fj' funcione en futuras sesiones, añada esto a su .bashrc o .profile:"
|
||||
echo "export PATH=\"\$HOME/.local/bin:\$PATH\""
|
||||
fi
|
||||
echo "Alias local 'fj' creado en $HOME/.local/bin/fj"
|
||||
fi
|
||||
}
|
||||
|
||||
# Función para eliminar alias fj
|
||||
remove_fj_alias() {
|
||||
local alias_file="$HOME/.fj_alias"
|
||||
|
||||
# Eliminar enlace simbólico de /usr/local/bin si existe
|
||||
if [ -L "/usr/local/bin/fj" ] && [ -w "/usr/local/bin" ]; then
|
||||
sudo rm -f /usr/local/bin/fj
|
||||
echo "Alias global 'fj' eliminado de /usr/local/bin/fj"
|
||||
fi
|
||||
|
||||
# Eliminar enlace simbólico de ~/.local/bin si existe
|
||||
if [ -L "$HOME/.local/bin/fj" ]; then
|
||||
rm -f "$HOME/.local/bin/fj"
|
||||
echo "Alias local 'fj' eliminado de $HOME/.local/bin/fj"
|
||||
fi
|
||||
|
||||
# Eliminar archivo de alias
|
||||
if [ -f "$alias_file" ]; then
|
||||
rm -f "$alias_file"
|
||||
fi
|
||||
}
|
||||
|
||||
# Función para iniciar sesión con token
|
||||
login() {
|
||||
# Verificar que el archivo de token encriptado existe
|
||||
|
@ -137,6 +188,8 @@ login() {
|
|||
|
||||
if [ $login_status -eq 0 ]; then
|
||||
echo "Sesión iniciada correctamente en Forgejo."
|
||||
# Crear alias fj para berg
|
||||
create_fj_alias
|
||||
else
|
||||
echo "Error al iniciar sesión en Forgejo. Por favor, verifique su token."
|
||||
exit 1
|
||||
|
@ -147,7 +200,12 @@ login() {
|
|||
logout() {
|
||||
echo "Cerrando sesión de Forgejo..."
|
||||
berg auth logout
|
||||
if [ $? -eq 0 ]; then
|
||||
local logout_status=$?
|
||||
|
||||
# Eliminar alias fj
|
||||
remove_fj_alias
|
||||
|
||||
if [ $logout_status -eq 0 ]; then
|
||||
echo "Sesión cerrada correctamente."
|
||||
else
|
||||
echo "Error al cerrar la sesión."
|
||||
|
|
Loading…
Reference in a new issue