Only print fish_greeting for interactive shells

Shell scripts that use `read` should not trigger fish_greeting.

Fixes #1401.
This commit is contained in:
Kevin Ballard 2014-09-21 20:33:58 -07:00
parent 4573a4d69c
commit e1f623f548

View file

@ -149,20 +149,22 @@ function __fish_config_interactive -d "Initializations that should be performed
eval "$__fish_bin_dir/fish -c 'fish_update_completions > /dev/null ^/dev/null' &"
end
#
# Print a greeting
#
if status -i
#
# Print a greeting
#
if functions -q fish_greeting
fish_greeting
else
if set -q fish_greeting
switch "$fish_greeting"
case ''
# If variable is empty, don't print anything, saves us a fork
if functions -q fish_greeting
fish_greeting
else
if set -q fish_greeting
switch "$fish_greeting"
case ''
# If variable is empty, don't print anything, saves us a fork
case '*'
echo $fish_greeting
case '*'
echo $fish_greeting
end
end
end
end