我是 Fish shell 的新手;然而,我在目录之间导航时观察到一些奇怪的行为。
下面是我的 shell 的输出。
最初,所有命令都以 为前缀~
;但是,我发现当我进入某些目录时,所有命令都以 为前缀>
。
& user @ computer in ~/dev 0 [19:47:17]
~ cd souffle-example/ 0 [19:47:17]
> ls 0 [19:47:20]
edge.facts example.dl path.csv
有人能解释一下为什么 shell 在进入某些目录时会进入不同的“模式”以及不同的“模式”代表什么吗?
编辑:
运行后type fish_prompt
得到以下输出:
fish_prompt is a function with definition
# Defined in /home/user/.config/fish/functions/fish_prompt.fish @ line 1
function fish_prompt
# Cache exit status
# Just calculate these once, to save a few cycles when displaying the prompt
if not set -q __fish_prompt_hostname
set -g __fish_prompt_hostname (hostname|cut -d . -f 1)
end
if not set -q __fish_user
switch (id -u)
case 0
set -g __fish_user '#'
case '*'
set -g __fish_user '&'
end
end
set -g __fish_prompt_char '~'
# Setup colors
set -l normal (set_color normal)
set -l white (set_color FFFFFF)
set -l turquoise (set_color 5fdfff)
set -l orange (set_color df5f00)
set -l hotpink (set_color df005f)
set -l blue (set_color 53D1ED)
set -l green (set_color 87ff00)
set -l greeno (set_color -o 87ff00)
set -l purple (set_color af5fff)
set -l red (set_color FF0000)
set -l redo (set_color -o FF0000)
set -l yellow (set_color E0D757)
# Configure __fish_git_prompt
set -g __fish_git_prompt_char_stateseparator ' '
set -g __fish_git_prompt_color 5fdfff
set -g __fish_git_prompt_color_flags df5f00
set -g __fish_git_prompt_color_prefix white
set -g __fish_git_prompt_color_suffix white
set -g __fish_git_prompt_showdirtystate true
set -g __fish_git_prompt_showuntrackedfiles true
set -g __fish_git_prompt_showstashstate true
set -g __fish_git_prompt_show_informative_status true
# Env
set -l last_status $status
set -l __work_dir (string replace $HOME '~' (pwd))
# Last status
set -l __exit_code -1
set -l __prompt 'y'
if test $last_status -eq 0
set __prompt $greeno$__fish_prompt_char$greeno' '
set __exit_code $white'0'
else
set __prompt $redo'x '
set __exit_code $redo$last_status
end
# Time
set -l __time $white'['(date +%H:%M:%S)']'
# Line
echo -sne '\n'$purple$__fish_user' '$blue$USER$white \
' @ '$green$__fish_prompt_hostname$white \
' in '$yellow$__work_dir$turquoise \
(__fish_git_prompt) \
' '$__exit_code \
' '$__time \
'\n' \
$__prompt;
end
我安装的唯一扩展是 oh-my-fish,并且我通过命令激活了“ays”主题omf install ays
。