shell命令分类
的shell命令总共分为5中,alias,function,file,builtin,keyword。
alias就是别名,function就是⾃⼰创建的shell函数,file就是path路径⾥的⼀些⼆进制或者其他sh⽂件等挂在硬盘上的⽂件,keyword就是shell的关键字。
可以通过type -t command来查看,另外如果⼀个命令是file的话,可以通过type -p command查看该命令的绝对路径..。
关于⼀个命令的运⾏到底有没有开辟新的进程,我们可以通过⼀种⽅法查看,⾸先运⾏该命令,然后ps -elf | grep⼀下就可以了,可以肯定的是file类型的command肯定是在⼦进程中运⾏的,但是builtin就不好说了,我man type⼀下:
Shell builtin commands are commands that can be executed within the running shell's process. Note that, in the case of
csh(1) builtin commands, the command is executed in a sub-
shell if it occurs as any component of a pipeline except the last.
If a command specified to the shell contains a slash ``/'', the shell will not execute a builtin command, even if the last component of the specified command matches the name of
a builtin command. Thus, while specifying ``echo'' causes a builtin command to be executed under shells that support the echo builtin command, specifying ``/bin/echo'' or
``./echo'' does not.
上⾯说的很清楚,第⼀段的意思是builtin命令可以在当前shell中运⾏,但是在csh中,如果在使⽤管道的时候内建命令不是在最后⾯,就会在⼦进程中运⾏。第⼆段的意思是如果使⽤绝对路径或者相对路径使⽤命令,即使最终引⽤的命令和builtin命令⼀样,也会在⼦进程中运⾏,相当于file类型的了。
shell命令属于什么语言阿⾥云双⼗⼀云服务器拼团活动,已经打到最低价99元⼀年!有需要的可以考虑⼀波了!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论