Подавить или настроить вступительное сообщение в Fish Shell


157

Можно ли убрать вводное сообщение в рыбной раковине:

Добро пожаловать в дружественную интерактивную оболочку Fish

Введите help для получения инструкций по использованию рыбы

Ответы:


170

Обнаружил, что приветственное сообщение установлено в fishd.Machine.local. Чтобы переопределить следующее ~/.config/fish/config.fish:

set fish_greeting

38
В качестве альтернативы, установите его для этой машины навсегда с помощью set -U fish_greeting "".
Занчи

6
set fish_greetingиз документации, как вы можете удалить это fishshell.com/docs/current/faq.html#faq-greeting
Azd325

Небольшой нюанс, но чтобы не было приветствия, просто вызовите предложенную setкоманду.
gitness

164

Ответ Кевина отлично подходит для статического текста. Если вам нужно интерактивное приветственное сообщение, такое как мое, включающее команду удачи , вы можете сделать

function fish_greeting

Создайте свою fish_greetingфункцию. я просто

function fish_greeting
    fortune
end

и сохраните это с помощью

funcsave fish_greeting

13
Хороший совет. Я использую, fortune -aчтобы получить и оскорбительные вещи.
Джек Фрост

2
Не забудьте установитьfortune
mirhossein

48

Предупреждение: больше не работает, начиная с fish 2.4.0 - см . Ответ Кевина для правильного современного решения.

Если нет переменной окружения с именем "fish_greeting", то ничего не будет напечатано. По умолчанию есть переменная fish_greeting. Вы можете стереть это:

set --erase fish_greeting

да, после удаления переменной она не будет создана повторно.
awelkie

3
Я думаю, что однажды это сработало, но теперь это не так; теперь кажется, что вам нужно установить переменную в пустую строку .
mjs


6

Добавьте set fish_greetingв свой ~/.config/fish/config.fishфайл.

Ответ на этот вопрос есть в FAQ по рыбам :

Как мне запускать команду при каждом входе в систему? Что fish эквивалентно .bashrc?

Отредактируйте файл ~/.config/fish/config.fish, создав его, если он не существует (обратите внимание на начальную точку).

Как изменить приветственное сообщение?

Измените значение переменной fish_greetingили создайте fish_greetingфункцию. Например, чтобы удалить приветствие, используйте:

set fish_greeting

4

Создайте свою функцию fish_greeting. я просто

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

и сохраните это с помощью

funcsave fish_greeting


0

Это своего рода sillyответ. Вы можете создать fish_greeting.fishв ~/.config/fish/functionsпапке пустой файл, и это приведет к удалению приветственного сообщения.

Это можно сделать

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

Или

$ function fish_greeting.fish
end

$ funcsave fish_greeting.fish
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.