- Bash Quick Start Guide
- Tom Ryder
- 342字
- 2021-07-23 16:58:58
The type command
The type command, given the name of any command or commands, gives you information about what kind of command it is:
bash$ type echo echo is a shell builtin bash$ type grep grep is /bin/grep
It identifies shell keyword, too:
bash$ type for for is a shell keyword
We can define a function and an alias to test that it correctly detects those:
bash$ myfunc() { : ; } bash$ type myfunc myfunc is a function
myfunc ()
{
:
}
bash$ alias myalias=: bash$ type myalias myalias is aliased to `:'
The type command has a few useful options. If you use the -t option, you can get a single word specifying the command type. This is sometimes useful in scripts:
bash$ type -t echo builtin bash$ type -t grep file
If you use the -a option, you can see all commands that have the same name. Bash will print them in order of preference. For example, the true name probably has both a builtin command and a system command on your system:
bash$ type -a true true is a shell builtin true is /bin/true
Bash will always prefer builtin commands for a given name over system commands. If you want to call the system's implementation of true, you could do it by specifying the full path to the program:
$ /bin/true
Another useful switch for type is -P, which will look for a system command for the given name, and print out the path to it if found:
bash$ type -P true /bin/true
Note that the /bin/true path was returned, even though true is also the name of a shell builtin.
There is a reason we put the type command first in this list. After help, it is the most useful Bash command for understanding the language, and clearing up the biggest source of confusion about the language: When I run this command, what is actually running?
- 人工智能超越人類
- 21天學(xué)通PHP
- Hands-On Machine Learning on Google Cloud Platform
- Hands-On Linux for Architects
- 構(gòu)建高性能Web站點
- Implementing AWS:Design,Build,and Manage your Infrastructure
- Linux嵌入式系統(tǒng)開發(fā)
- INSTANT Munin Plugin Starter
- Puppet 3 Beginner’s Guide
- 筆記本電腦維修之電路分析基礎(chǔ)
- 工業(yè)機(jī)器人操作
- Instant Slic3r
- Arduino創(chuàng)意機(jī)器人入門:基于ArduBlock(第2版)
- Apache Spark Machine Learning Blueprints
- 圖像傳感器應(yīng)用技術(shù)