[FIXED] Corregir problema con el comando 'fj' en fj_login.sh

- Cambiar de alias en memoria a script wrapper en ~/.local/bin
- Crear un ejecutable 'fj' que invoca a 'berg' con los mismos argumentos
- Verificar si ~/.local/bin está en PATH y mostrar instrucciones si no lo está
- Implementar limpieza del script al usar --logout
- Solucionar el problema "fj: no se encontró la orden" que ocurría con alias

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Mauro Rosero P. 2025-03-15 15:06:56 -05:00
parent 561a75eabb
commit 081cf5c5b7
Signed by: mrosero
GPG key ID: 83BD2A5F674B7E26

View file

@ -107,17 +107,34 @@ get_forgejo_url() {
fi fi
} }
# Función para crear alias fj para berg en memoria # Función para crear alias fj para berg
create_fj_alias() { create_fj_alias() {
# Crear alias en la sesión actual # Crear script wrapper en ~/.local/bin
alias fj='berg' mkdir -p "$HOME/.local/bin"
echo "Alias 'fj' creado"
# Crear script fj que llama a berg
cat > "$HOME/.local/bin/fj" << EOF
#!/bin/bash
berg "\$@"
EOF
# Hacer ejecutable el script
chmod +x "$HOME/.local/bin/fj"
# Verificar si ~/.local/bin está en PATH y añadirlo si no lo está
if [[ ":$PATH:" != *":$HOME/.local/bin:"* ]]; then
echo "Para usar el comando 'fj', ejecute: export PATH=\"\$HOME/.local/bin:\$PATH\""
else
echo "Comando 'fj' creado"
fi
} }
# Función para eliminar alias fj # Función para eliminar alias fj
remove_fj_alias() { remove_fj_alias() {
# Eliminar alias de la sesión actual # Eliminar script fj
unalias fj 2>/dev/null if [ -f "$HOME/.local/bin/fj" ]; then
rm -f "$HOME/.local/bin/fj"
fi
} }
# Función para iniciar sesión con token # Función para iniciar sesión con token
@ -160,13 +177,14 @@ login() {
# Función para cerrar sesión # Función para cerrar sesión
logout() { logout() {
echo "Cerrando sesión de Forgejo..."
berg auth logout
local logout_status=$?
# Eliminar alias fj # Eliminar alias fj
remove_fj_alias remove_fj_alias
echo "Cerrando sesión de Forgejo..."
berg auth logout -s
local logout_status=$?
if [ $logout_status -eq 0 ]; then if [ $logout_status -eq 0 ]; then
echo "Sesión cerrada correctamente." echo "Sesión cerrada correctamente."
else else