Я всегда беру другой FS для резервного диска, чем на основном диске просто, потому что, если я поразил странную ошибку FS, я не поражу ее в свой резервный носитель также.
Вы забыли эту строку:
shopt -s expand_aliases
E.G.
#!/bin/bash
shopt -s expand_aliases
alias grep='grep -n'
out=$(grep word "$1")
echo "$out"
Проблема в том, что вы сделали псевдоним для вашей фактической оболочки. Когда вы используете BackTicks (или $ (...)
), вы запускаете подколочку, который игнорирует ваш псевдоним (псевдоним afaik не может быть экспортирован, поэтому вам придется повторно определить их в подколочка).
В вашем случае, возможно, лучший подход будет установить переменную, содержащую команду. Скажем:
MY_GREP="grep -n"
out=`${MY_GREP} word $1`