[FIXED] Corregir problema con el comando 'fj' en fj_login.sh
- Cambiar de script wrapper a enlace simbólico a berg - Detectar la ubicación real de berg usando 'which' para crear el enlace - Intentar crear enlace global en el mismo directorio que berg si hay permisos - Crear enlace alternativo en ~/.local/bin y actualizar PATH cuando sea necesario - Implementar eliminación adecuada del enlace en ambas ubicaciones - Solucionar el error "fj: no se encontró la orden" por problemas de PATH 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
081cf5c5b7
commit
fdf6f6fb49
1 changed files with 39 additions and 15 deletions
|
@ -109,32 +109,56 @@ get_forgejo_url() {
|
||||||
|
|
||||||
# Función para crear alias fj para berg
|
# Función para crear alias fj para berg
|
||||||
create_fj_alias() {
|
create_fj_alias() {
|
||||||
# Crear script wrapper en ~/.local/bin
|
# Crear enlace simbólico a berg en la misma carpeta donde está berg
|
||||||
mkdir -p "$HOME/.local/bin"
|
local berg_path=$(which berg 2>/dev/null)
|
||||||
|
|
||||||
# Crear script fj que llama a berg
|
if [ -z "$berg_path" ]; then
|
||||||
cat > "$HOME/.local/bin/fj" << EOF
|
echo "No se pudo encontrar la ubicación de berg"
|
||||||
#!/bin/bash
|
return 1
|
||||||
berg "\$@"
|
fi
|
||||||
EOF
|
|
||||||
|
|
||||||
# Hacer ejecutable el script
|
local berg_dir=$(dirname "$berg_path")
|
||||||
chmod +x "$HOME/.local/bin/fj"
|
|
||||||
|
|
||||||
# Verificar si ~/.local/bin está en PATH y añadirlo si no lo está
|
# Crear enlace simbólico 'fj' que apunta a berg en la misma ubicación
|
||||||
if [[ ":$PATH:" != *":$HOME/.local/bin:"* ]]; then
|
if [ -w "$berg_dir" ]; then
|
||||||
echo "Para usar el comando 'fj', ejecute: export PATH=\"\$HOME/.local/bin:\$PATH\""
|
# Si tenemos permisos de escritura, crear enlace global
|
||||||
|
sudo ln -sf "$berg_path" "$berg_dir/fj"
|
||||||
|
echo "Comando 'fj' creado (global)"
|
||||||
else
|
else
|
||||||
echo "Comando 'fj' creado"
|
# Sin permisos, crear en .local/bin y actualizar PATH
|
||||||
|
mkdir -p "$HOME/.local/bin"
|
||||||
|
ln -sf "$berg_path" "$HOME/.local/bin/fj"
|
||||||
|
|
||||||
|
# Añadir .local/bin temporalmente al PATH si no está
|
||||||
|
if [[ ":$PATH:" != *":$HOME/.local/bin:"* ]]; then
|
||||||
|
export PATH="$HOME/.local/bin:$PATH"
|
||||||
|
echo "PATH actualizado temporalmente. Para uso permanente, añada a su .bashrc:"
|
||||||
|
echo "export PATH=\"\$HOME/.local/bin:\$PATH\""
|
||||||
|
fi
|
||||||
|
echo "Comando 'fj' creado (local)"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Función para eliminar alias fj
|
# Función para eliminar alias fj
|
||||||
remove_fj_alias() {
|
remove_fj_alias() {
|
||||||
# Eliminar script fj
|
# Intentar eliminar enlaces simbólicos
|
||||||
if [ -f "$HOME/.local/bin/fj" ]; then
|
local berg_path=$(which berg 2>/dev/null)
|
||||||
|
|
||||||
|
if [ -n "$berg_path" ]; then
|
||||||
|
local berg_dir=$(dirname "$berg_path")
|
||||||
|
|
||||||
|
# Eliminar enlace global si existe y tenemos permisos
|
||||||
|
if [ -L "$berg_dir/fj" ] && [ -w "$berg_dir" ]; then
|
||||||
|
sudo rm -f "$berg_dir/fj"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Eliminar enlace local
|
||||||
|
if [ -L "$HOME/.local/bin/fj" ]; then
|
||||||
rm -f "$HOME/.local/bin/fj"
|
rm -f "$HOME/.local/bin/fj"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "Comando 'fj' eliminado"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Función para iniciar sesión con token
|
# Función para iniciar sesión con token
|
||||||
|
|
Loading…
Reference in a new issue