Linux Mint下如何判断Shell内置命令?考试错题求解
问题解答
正确的非内置命令列表
你遗漏的是 echo。完整的非内置命令为:
- info
- man
- ls
- mv
- echo
注:echo在bash、zsh等现代Shell中是内置命令,但在传统Bourne Shell(原始sh)中属于外部命令,很多考试会基于传统UNIX Shell标准出题,因此echo会被归类为非内置命令。
正确的检查方法
1. 使用type命令(最直接)
- 基础用法:输入
type <命令>,根据输出判断:- 输出类似
echo is a shell builtin:说明是Shell内置命令 - 输出类似
info is /usr/bin/info:说明是外部命令
- 输出类似
- 查看所有版本:使用
type -a <命令>,可以看到该命令的所有可用实现(比如type -a echo会同时显示内置版本和外部/bin/echo的路径),默认Shell会优先使用内置版本,但部分考试会以传统标准判定。
2. 辅助验证方法
- 使用
command -v <命令>:输出默认使用的命令路径,若为内置命令则直接显示命令名,外部命令则显示绝对路径。 - 使用
builtin <命令>:强制调用内置版本,如果命令不是内置会报错;反之,若能执行则说明是内置命令。
内容的提问来源于stack exchange,提问作者Red Smurf
相关产品推荐
相关产品推荐

