Да, похоже, что RedHat решил скомпилировать systemd
без systemd-timesyncd
.
Функция - лучший вариант, чем расширяемый псевдоним.
grep_options=( )
grep() {
exec /usr/bin/grep "${grep_options[@]}" ${GREP_OPTIONS} "$@"
}
Таким образом, у вас есть два варианта добавления параметров в среду:
Изменить массив grep_options
; это правильно поддерживает параметры с пробелами, буквальные символы глобуса и другие угловые случаи:
grep_options + = (--exclude-dir = classes --exclude-dir = '* /. sass-cache')
Используйте традиционную скалярную переменную GREP_OPTIONS
, несмотря на ее подводные камни (см. BashFAQ # 50 , чтобы понять некоторые из них):
GREP_OPTIONS + = '--exclude-dir = classes'
Тем не менее, если вы хотите, чтобы ваши параметры отражались экземплярами grep
, вызываемыми вне оболочки, ни псевдоним, ни функция не подойдут. Вместо этого вам понадобится сценарий оболочки, помещенный в ваш PATH раньше, чем настоящая команда grep
. Например:
# in ~/.bash_profile
[[ -e ~/bin ]] && PATH=$HOME/bin:$PATH
... и в ~ / bin / grep
:
#!/bin/bash
# load overrides to grep_options on GREP_OPTIONS from local dotfiles
source ~/.bash_profile
source ~/.bashrc
# ...and use them:
exec /usr/bin/grep "${grep_options[@]}" ${GREP_OPTIONS} "$@"