bash
и ksh
не обрабатывают псевдонимы, определенные в файле, до тех пор, пока файл не будет прочитан ... что означает, что вы не можете определить его в том же сценарии, который будет его использовать. Вы можете поместить его в другой файл, а .
(source
) - в свой сценарий.
Альтернативно, используйте функцию оболочки.
mygrep() {
if test -n "$isSolaris"; then
/usr/xpg4/bin/grep -E ${1+"$@"}
else
grep ${1+"$@"}
fi
}