Я часто хочу иметь какой-то псевдоним / замену «битов» команды.
Например: я хочу, чтобы 'bkg' было переведено как "2> /dev /null> /dev /null &", чтобы я мог запускать приложения в фоновом режиме и не выводить спам на консоль, например:
nautilus . bgk
>>>
nautilus . 2> /dev/null > /dev/null &
Самая близкая вещь, которую я получил к работе, состоит в следующем:
1) Создать псевдоним:
alias bkg="&> /dev/null > /dev/null &"
2) Перед вводом команды введите псевдоним и сначала раскройте его с помощью ctrl+alt+e, затем вернитесь и введите команду.
bkg #press ctrl+alt+e
&> /dev/null > /dev/null & #has expanded. Now go back and type cmd:
nautilus &> /dev/null > /dev/null &
Однако это несколько громоздко.
[править] ZSH, похоже, имеет глобальные псевдонимы. Это близко к тому, что мне нужно. Но из показаний видно, что zsh не полностью совместим со скриптами bash. Похоже, что переключение на zsh только для глобального алининга, но для взлома скриптов bash может не стоить этих усилий. Как таковой, ищу bash-native решение.
[редактировать]
В соответствии с предложением @ egmont, мне нужно определить псевдоним:
alias quiet="&> /dev/null "
Тогда я могу использовать это как:
quiet nautilus . &
Тем не менее, две проблемы: «&» должен быть в конце, и предсказание табуляции не работает после того, как «тихий» напечатан.