有些命令是shell外部的,shell会解析参数然后调用外部的程序去处理它,另外还有一些是对shell起作用的,叫shell内置命令

如果先查看内部命令,需要 man + shell名称 ,例如,man bash

外部命令和搜索路径

shell是如何知道那些程序都在哪呢? 实际上shell是检查PATH环境变量,PATH包含一串字符,这串字符就是一系列目录名称,称作搜索路径。如果输入一个命令,shell会依次按这些目录去搜索命令

先要看PATH 直接 echo $PATH即可

修改搜索路径

可以用export命令,export命令可以使PATH变量变成环境变量,这就意味着shell和随后所有进程都可以使用它,例如export PATH="/bin:/usr/bin:/usr/ucb:/usr/local/bin"

如果希望在搜索路径的末尾加上一条路径,可以 export PATH="$PATH:$HOME/bin"
如果想在最后加上一条指令,可以export PATH="$HOME/bin:$PATH"

如果把自己写的date命令放在开头,系统将会执行自己写的date命令,而不会执行系统本身的命令

实际上用export设置的环境变量在下次启动时就会失效,如果想一直保存需要修改一些特定的文件

修改命令行提示

命令行提示的路径在PS1的环境变量当中,因此要修改的话只需要export PS1=”$ “就可以了

命令替换

用反引号`,用了这种符号会先执行反引号你饿不的命令然后再执行外部命令,

例如 echo “Date is `date` “

这个命令会显示Date is + 具体时间,注意要用双引号,单引号会把反引号引用掉