壳一衬板别名怎么样?

时间:2018-10-11 13:44:04

标签: linux shell

这只是我的~/.bashrc的一小部分。

if [ -t 1 ]
then
    # standard output is a tty
    # do interactive initialization
    # make bash autocomplete with up arrow
    bind '"\e[A":history-search-backward'
    bind '"\e[B":history-search-forward'
fi

现在,我想在一行中将其转换为别名:

alias op_prompt="if [ -t 1 ] then (bind '"\e[A":history-search-backward'; bind '"\e[B":history-search-forward'; fi)"

这不是正确的语法,我不明白何时以及何时不添加转义符(“ \”)。

如何使这两个bind合为一if,而所有内容合而为一alias成一行?

1 个答案:

答案 0 :(得分:2)

只需编写一个函数:

op_prompt() {
    if test -t 1; then
        bind '"\e[A":history-search-backward'
        bind '"\e[B":history-search-forward'
    fi
}