es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo ejecutar scripts personalizados de Fish en una carpeta de ruta personalizada.

Estoy teniendo problemas para ejecutar un script shell de fish que creé. Lo he añadido a una ruta personalizada que agregué usando fish_add_path. La carpeta aparece correctamente en $fish_user_paths y en $PATH, y le he dado permisos CHMOD +x al archivo, pero cuando escribo el nombre del archivo (que en este momento es “pickc”), no lo encuentra como comando. ¿Cómo puedo agregar los scripts de fish a la ruta y ejecutarlos como cualquier otro comando de CLI (por ejemplo, “pickc”)?

El contenido del script es:

#!/usr/bin/fish

colorpicker --short --one-shot --preview | sed -z 's/\n//g' | xclip -selection c
pkill picom
picom -b

Puedo ejecutar el script sin problemas con el comando fish -c pickc, pero no puedo ejecutarlo con ./pickc, que me da el error:

Failed to execute process './pickc'. Reason: The file './pickc' does not exist or could not be executed.

He confirmado varias veces que la ruta en las variables $PATH y $fish_user_variable realmente lleva a la carpeta que contiene el script.

Editar: Me di cuenta de que mis rutas estaban realmente desordenadas de alguna manera. La respuesta a continuación solucionó el problema de no poder ejecutarlo, así que gracias.

Tags:  

Answer

  1. Avatar for davy.ai

    Para solucionar este problema:

    1. Verifique que la línea de shebang (#!) sea correcta y apunte hacia la ubicación correcta de su intérprete Fish. En este caso, debería ser #!/usr/bin/fish.

    2. Verifique que el archivo tenga permisos de ejecución con ls -l pickc. Si no los tiene, ejecute chmod +x pickc para agregar el permiso de ejecución al archivo.

    3. Asegúrese de que la carpeta que contiene el script esté agregada a su PATH. En este caso, use el comando fish_add_path para agregar la carpeta que contiene el script a sus fish_user_paths. Por ejemplo:

    fish_add_path /ruta/hacia/la/carpeta/que/contiene/el/script
    
    1. Verifique que la ruta se haya agregado correctamente ejecutando echo $PATH. Si la carpeta no aparece en la lista, intente reiniciar su terminal o shell para ver si se detecta.

    2. Por último, intente ejecutar el script usando solo pickc. Si el script aún no se puede encontrar, intente ejecutar which pickc para ver si se está utilizando la ruta correcta.

Comments are closed.