Jon*_*Lin 12
您可以尝试which在csh或typebash中使用.如果有东西是内置命令,它就会说出来; 否则,您将获得PATH中命令的位置.
在csh中:
# which echo
echo: shell built-in command.
# which parted
/sbin/parted
Run Code Online (Sandbox Code Playgroud)
在bash中:
# type echo
echo is a shell builtin
# type parted
parted is /sbin/parted
Run Code Online (Sandbox Code Playgroud)
type 也可能会显示如下内容:
# type clear
clear is hashed (/usr/bin/clear)
Run Code Online (Sandbox Code Playgroud)
...这意味着它不是内置的,但是bash已将其位置存储在哈希表中以加快对它的访问; (一点点)更多关于Unix和Linux的帖子.
pax*_*blo 10
在bash中,您可以使用type带有该-t选项的命令.完整的详细信息可以在bash-builtins手册页中找到,但相关的位是:
输入 -t名称
如果
-t选项时,类型打印一个字符串,它是一个alias,keyword,function,builtin,或file,如果名字是分别别名,壳保留字,功能,内置,或磁盘文件,.如果找不到名称,则不打印任何内容,并返回退出状态false.
因此,您可以使用以下检查:
if [[ "$(type -t read)" == "builtin" ]] ; then echo read ; fi
if [[ "$(type -t cd)" == "builtin" ]] ; then echo cd ; fi
if [[ "$(type -t ls)" == "builtin" ]] ; then echo ls ; fi
Run Code Online (Sandbox Code Playgroud)
这将导致输出:
read
cd
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5769 次 |
| 最近记录: |