Fish-shell: No se pueden ejecutar scripts de peces

Creado en 31 may. 2017  ·  3Comentarios  ·  Fuente: fish-shell/fish-shell

versión de pescado: 2.5.0
Ubuntu 16.04 Linux limebox 4.4.0-78-generic #99-Ubuntu SMP Thu Apr 27 15:29:09 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Hola, parece que no puedo ejecutar scripts de peces, cuando creo un archivo ejecutable echo "echo test" > script.fish , ejecutar fish ./script.fish da como resultado un mensaje de error: ./script.fish: No such file or directory .

Funciona bien con sh -c 'env HOME=$(mktemp -d) fish' , por alguna razón.

link/.config/fish $ tree
.
├── completions
│   ├── fisher.fish
│   ├── get.fish -> /home/limeth/.config/fisherman/get/completions/get.fish
│   └── git.fish -> /home/limeth/.config/fisherman/git-flow/completions/git.fish
├── conf.d
│   └── git-flow.init.fish -> /home/limeth/.config/fisherman/git-flow/init.fish
├── config.fish
├── fish_colors
├── fishd.limebox
├── fishfile
├── fish_history
├── fish_read_history
└── functions
    ├── cl.fish
    ├── fisher.fish
    ├── fish_greeting.fish -> /home/limeth/.config/fisherman/bobthefish/fish_greeting.fish
    ├── fish_mode_prompt.fish -> /home/limeth/.config/fisherman/bobthefish/fish_mode_prompt.fish
    ├── fish_prompt.fish -> /home/limeth/.config/fisherman/bobthefish/fish_prompt.fish
    ├── fish_right_prompt.fish -> /home/limeth/.config/fisherman/bobthefish/fish_right_prompt.fish
    ├── fish_title.fish -> /home/limeth/.config/fisherman/bobthefish/fish_title.fish
    ├── fish_user_key_bindings.fish
    ├── fzf_key_bindings.fish -> /home/limeth/.fzf/shell/key-bindings.fish
    ├── get.fish -> /home/limeth/.config/fisherman/get/functions/get.fish
    ├── getopts.fish -> /home/limeth/.config/fisherman/getopts/getopts.fish
    └── set_color_custom.fish -> /home/limeth/.config/fisherman/jellyfish/functions/set_color_custom.fish

3 directories, 22 files
$ cat config.fish
# Source dotfiles scripts
source ~/.dotfiles/bin/source.fish

# Enable terminal colors
set -x TERM "xterm-256color"

# Vi mode
# Automatically enable Vi mode in `~/.config/fish/functions/fish_user_key_bindings.fish`
set -g theme_display_vi yes

Enlace a ~/.dotfiles/bin/source.fish : https://gitlab.com/Limeth/dotfiles/blob/master/bin/source.fish

Se agradece cualquier consejo sobre lo que debería estar buscando.

question

Comentario más útil

Bien, su source.fish termina con cd ~ . Generalmente es una mala idea. Un shell de inicio de sesión ya debería tener PWD configurado en su directorio de inicio. Y si está iniciando cualquier otra instancia de peces, no desea cambiar el PWD. Si cree que hay una buena razón para hacerlo, debe limitarlo a shells interactivos:

if status is-interactive
    cd ~
end

Todos 3 comentarios

ejecutar fish ./script.fish da como resultado un mensaje de error: ./script.fish: No existe tal archivo o directorio.

Esto parece algo cd s en su configuración.

Intente ejecutar ese archivo y, cuando falle, ejecute echo $PWD; fish -c 'echo $PWD' . Si los dos difieren, ese es tu problema.

¡Eso fue todo!

$ echo $PWD
/tmp
$ fish -c "echo \$PWD"
/home/limeth

¡Muchos gracias! :)

Bien, su source.fish termina con cd ~ . Generalmente es una mala idea. Un shell de inicio de sesión ya debería tener PWD configurado en su directorio de inicio. Y si está iniciando cualquier otra instancia de peces, no desea cambiar el PWD. Si cree que hay una buena razón para hacerlo, debe limitarlo a shells interactivos:

if status is-interactive
    cd ~
end
¿Fue útil esta página
0 / 5 - 0 calificaciones