локально созданный псевдоним, не используясь, если названо с помощью обратных галочек (')

Я всегда беру другой FS для резервного диска, чем на основном диске просто, потому что, если я поразил странную ошибку FS, я не поражу ее в свой резервный носитель также.

4
17.04.2015, 02:25
2 ответа

Вы забыли эту строку:

shopt -s expand_aliases

E.G.

#!/bin/bash
shopt -s expand_aliases
alias grep='grep -n'
out=$(grep word "$1")
echo "$out"
3
27.01.2020, 21:00

Проблема в том, что вы сделали псевдоним для вашей фактической оболочки. Когда вы используете BackTicks (или $ (...) ), вы запускаете подколочку, который игнорирует ваш псевдоним (псевдоним afaik не может быть экспортирован, поэтому вам придется повторно определить их в подколочка).

В вашем случае, возможно, лучший подход будет установить переменную, содержащую команду. Скажем:

MY_GREP="grep -n"
out=`${MY_GREP} word $1`
-1
27.01.2020, 21:00

Теги

Похожие вопросы