我想在别名中插入各种可能的拼写变体,例如,cat
command。我可以在“或”中使用符号还是将其换行?
alias at|cart|cst '/bin/cat'
我想在别名中插入各种可能的拼写变体,例如,cat
command。我可以在“或”中使用符号还是将其换行?
alias at|cart|cst '/bin/cat'
Answers:
的帮助alias
表明它可以一次分配多个别名:
alias: alias [-p] [name[=value] ... ]
Define or display aliases.
Without arguments, `alias' prints the list of aliases in the reusable
form `alias NAME=VALUE' on standard output.
Otherwise, an alias is defined for each NAME whose VALUE is given.
A trailing space in VALUE causes the next word to be checked for
alias substitution when the alias is expanded.
因此,您可以使用括号扩展来生成name=value
对:
alias {at,cart,cst}='/bin/cat'
所以:
$ alias {at,cart,cst}='/bin/cat'
$ type at cart cst
at is aliased to `/bin/cat'
cart is aliased to `/bin/cat'
cst is aliased to `/bin/cat'
也就是说,请看zsh,它具有内置的拼写校正功能(对无效at
,但对其他功能有所帮助):
% setopt correct % sl zsh: correct `sl' to `ls' [nyae]? y % setopt correctall % ls x.v11r4 zsh: correct `x.v11r4' to `X.V11R4' [nyae]? n /usr/princton/src/x.v11r4 not found % ls /etc/paswd zsh: correct to `/etc/paswd' to `/etc/passwd' [nyae]? y /etc/passwd
如果
y
在外壳询问您是否要更正单词时按,它将被更正。如果按n
,则将其保留。按a
中止命令,并按下e
带来阵容再次编辑,如果你同意这个词拼写错了,但你不喜欢的修正。
我认为您不能一次分配多个别名。
但是您可以遍历如下列表:
for a in cart xat vat xst cst vst dog; do alias "$a"='/bin/cat'; done
确保别名尚未被其他程序使用(例如 at
您的示例)。
alias kk='ll'