魚バージョン: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
こんにちは、fishスクリプトを実行できないようです。実行可能ファイルecho "echo test" > script.fish
を作成すると、 fish ./script.fish
を実行すると、エラーメッセージ./script.fish: No such file or directory
ます。
何らかの理由で、 sh -c 'env HOME=$(mktemp -d) fish'
で正常に動作します。
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
~/.dotfiles/bin/source.fish
へのリンク: https :
私が探しているべきものについてのヒントはありがたいです。
fish ./script.fishを実行すると、次のエラーメッセージが表示されます。./script.fish:そのようなファイルまたはディレクトリはありません。
これは、構成内のcd
のように見えます。
そのファイルを実行してみてください。失敗した場合は、 echo $PWD; fish -c 'echo $PWD'
を実行してください。 2つが異なる場合、それはあなたの問題です。
それでした!
$ echo $PWD
/tmp
$ fish -c "echo \$PWD"
/home/limeth
どうもありがとうございます! :)
そうです、 source.fishはcd ~
終わります。 それは一般的に悪い考えです。 ログインシェルでは、すでにPWDがホームディレクトリに設定されている必要があります。 また、他の魚のインスタンスを開始する場合は、障害者を変更したくありません。 それを行う正当な理由があると思われる場合は、インタラクティブシェルに限定する必要があります。
if status is-interactive
cd ~
end
最も参考になるコメント
そうです、 source.fishは
cd ~
終わります。 それは一般的に悪い考えです。 ログインシェルでは、すでにPWDがホームディレクトリに設定されている必要があります。 また、他の魚のインスタンスを開始する場合は、障害者を変更したくありません。 それを行う正当な理由があると思われる場合は、インタラクティブシェルに限定する必要があります。