Suppress or Customize Intro Message in Fish Shell

Fish

Fish Problem Overview


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

Fish Solutions


Solution 1 - Fish

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

set fish_greeting

Solution 2 - Fish

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

Solution 3 - Fish

> 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

Solution 4 - Fish

> set --universal fish_greeting

Solution 5 - Fish

Create your fish_greeting function. I just have

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

and save it with

funcsave fish_greeting

Solution 6 - Fish

Read the official document please.

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

short answer: set -e fish_greeting

Solution 7 - Fish

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

Solution 8 - Fish

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

Solution 9 - Fish

You could also display random pokemon as fish greeting after installing this script here. Open your terminal and type in:

function fish_greeting
    $HOME/.pokemon-icat/pokemon-icat.sh
end

And save the function for future fish greetings

funcsave fish_greeting

I just love it to open a terminal and the first thing that pops up is a pokemon. Even more satisfying if its a legend one :)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionKevin SylvestreView Question on Stackoverflow
Solution 1 - FishKevin SylvestreView Answer on Stackoverflow
Solution 2 - FishworkflowView Answer on Stackoverflow
Solution 3 - FishawelkieView Answer on Stackoverflow
Solution 4 - FishkzhView Answer on Stackoverflow
Solution 5 - Fishkhairul abdiView Answer on Stackoverflow
Solution 6 - FishWeihang JianView Answer on Stackoverflow
Solution 7 - FishChris MartinView Answer on Stackoverflow
Solution 8 - FishMahabubur RahmanView Answer on Stackoverflow
Solution 9 - Fishstarryn1ghtView Answer on Stackoverflow