找出shell命令是否带别名

时间:2020-01-09 14:16:30  来源:igfitidea点击:

问题描述:有时我会感到困惑,无论命令是别名还是真实命令。
如何确定shell命令是否别名?

解决方法:您需要使用type命令。
它说明命令是别名,函数,buitin命令还是可执行命令文件。

例如:

$ type all ls

输出:

ls is aliased to `ls --color=auto'
ls is /bin/ls

或者

$ type alias

输出:

alias is a shell builtin

因此,对于每个命令,它指示如果用作命令名称将如何解释它。
您还可以尝试以下选项:

  • 如果使用-t选项,type将输出一个单词,该单词是别名,关键字,函数,内置文件,文件等之一
  • 如果使用-p标志,则type返回要执行的磁盘文件的名称,或者返回空(当type -t NAME不返回文件时)。
  • 如果使用-a标志,则type显示所有包含名为file的可执行文件的位置。当且仅当未同时使用-p标志时,这包括别名,内建函数和函数。
  • -f标志禁止执行shell函数查找。
  • -P标志强制对每个NAME进行PATH搜索,即使它是别名,内置函数或函数,也返回将要执行的磁盘文件的名称。