преобразовать команду псевдонима из tcsh в bash - PullRequest
0 голосов
/ 17 июня 2019

Я новичок в Bash.Я хочу преобразовать приведенную ниже форму команды псевдонима tcsh в bash:

alias buzz 'echo \!$;if (-e ~/.sshelp.txt) grep -i \!$ ~/.sshelp.txt && echo \!$;if (-e ~/.sshelp_qct.txt) grep -i \!$ ~/.sshelp_qct.txt '

Я попробовал команду ниже, но она не работает.Есть предложения?

alias buzz= 'echo \!$;if (-e ~/.sshelp.txt) grep -i \!$ ~/.sshelp.txt && echo \!$;if (-e ~/.sshelp_qct.txt) grep -i \!$ ~/.sshelp_qct.txt '

1 Ответ

1 голос
/ 17 июня 2019

Определить функцию в bash.Оболочки C определяют псевдонимы, потому что они не поддерживают функции.Я думаю следующее (примерно) эквивалентно.

buzz () {
    echo "$1"
    if [ -e ~/.sshelp.txt ]; then
        grep -i "$1" ~/.sshelp.txt && echo "$1"
    fi
    echo "$1"
    if [ -e ~/.sshelp_qct.txt ]; then
        grep -i "$1" ~/.sshelp_qct.txt
    fi
}
...