当前位置: 首页 > 工具软件 > Ani-Shell > 使用案例 >

【Bash百宝箱】shell内建命令之alias与unalias

计胤
2023-12-01

1、alias

在shell中,内建(builtin)命令alias,格式如下:

alias [-p] [name[=value] ...]

alias命令用于给一个shell命令建立一个别名,主要用于简化命令,比如说有一个经常要用到的复杂命令,如果每次在使用时都输入这个命令,就显得繁琐了,这时可使用alias给这个命令创建一个简单的别名,然后直接使用这个别名就方便多了。

alias命令不指定任何参数或使用选项“-p”时,会打印当前所有的alias别名。通过等号可新建或重置一个别名。如果没有使用等号,当别名name不存在时,出错;否则打印别名状态。

alias命令只对当前shell有效,若想对其它shell或长期使用alias别名,一般把alias命令放在用户主目录下的文件“.bashrc”中。

2、unalias

unalias命令与alias作用相反,用于删除别名命令,格式如下:

unalias [-a] [name ...]

unalias命令可删除某个别名命令name,或使用参数“-a”删除所有的别名命令。

例子:

$ alias
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'
$ unalias -a
$ alias
$ alias foo='uname'
$ foo
Linux
$ alias -p
alias foo='uname'
$ unalias foo
$ alias
$ foo
No command 'foo' found, did you mean:
 Command 'fog' from package 'ruby-fog' (universe)
 Command 'zoo' from package 'zoo' (universe)
 Command 'fio' from package 'fio' (universe)
 Command 'fox' from package 'objcryst-fox' (universe)
 Command 'woo' from package 'python-woo' (universe)
 Command 'fgo' from package 'fgo' (universe)
 Command 'goo' from package 'goo' (universe)
 Command 'fop' from package 'fop' (universe)
foo: command not found
 类似资料: