Подавить или настроить вступительное сообщение в 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
Махабубур Рахман
источник