189
votes

Is it possible to remove the intro message in fish shell:

Welcome to fish, the friendly interactive shell

Type help for instructions on how to use fish

8

8 Answers

213
votes

Found that the greeting message is set in fishd.Machine.local. To override the following to ~/.config/fish/config.fish:

set fish_greeting
181
votes

Kevin's answer works fine for static text. If you need an interactive welcome message, such as mine involving the fortune command, you can do

function fish_greeting

Create your fish_greeting function. I just have

function fish_greeting
    fortune
end

and save it with

funcsave fish_greeting
50
votes

Warning: No longer works since fish 2.4.0—see Kevin's answer for the correct contemporary solution.

If there is no environment variable named "fish_greeting", then nothing will be printed. By default, there is a fish_greeting variable. You can erase this:

set --erase fish_greeting
11
votes
> set --universal fish_greeting
9
votes

Create your fish_greeting function. I just have

function fish_greeting                                             13:23:39
    echo 'Hello'
end 

and save it with

funcsave fish_greeting
6
votes

Read the official document please.

http://fishshell.com/docs/current/faq.html#faq-greeting

short answer: set -e fish_greeting

5
votes

Add set fish_greeting to your ~/.config/fish/config.fish file.

This is answered in the Fish FAQ:

How do I run a command every login? What's fish's equivalent to .bashrc?

Edit the file ~/.config/fish/config.fish, creating it if it does not exist (Note the leading period).

How do I change the greeting message?

Change the value of the variable fish_greeting or create a fish_greeting function. For example, to remove the greeting use:

set fish_greeting
1
votes

This is a kind of silly answer. You can create a fish_greeting.fish empty file in ~/.config/fish/functions folder and this will remove the greeting message.

That can be done by

$ touch ~/.config/fish/functions/fish_greeting.fish

Or

$ function fish_greeting.fish
end

$ funcsave fish_greeting.fish