简介
在linux终端中执行ls命令,ls命令是如何被解析并且执行的。Shell命令的格式一般为:
[commond] [-options] [parameter]
执行命令 命令的选项 命令的参数
当执行ls命令是显示当前目录下所有文件的名称
执行ls -l命令是显示当前目录下所有文件的属性信息
执行ls -l /mnt 命令是显示mnt目录下的所有文件信息
命令解析
当在执行框中执行ls命令时,shell会根据PATH环境变量去文件夹中寻找对应名称的指令。可以通过执行echo $PATH命令查看添加的执行文件路径。
也可以通过env命令查看所有环境变量的值,也可以查看对应环境变量的值。
验证测试
编写一个应用程序:
#include <stdio.h>
int main(int argc,char **argv){
if(argc>1)
printf("Hellow,%s!\n",argv[1]);//①
else if(argc == 1)
printf("Hellow %d\n",argc);//②
return 0;
}
应用程序主要功能:当输入参数大于一个时,打印结果①;让输入的参数等于一个时,打印结果②。
首先执行hello引用程序,提示没有此命令这是由于PATH环境变量中没有添加该文件路径的原因。然后使用相对路径执行hello应用程序,应用程序可以执行。最后使用绝对路径执行hello应用程序,也可以执行。
添加应用程序到PATH环境变量中
使用vim打开/etc/profile文件添加PATH环境变量,将hello应用程序的绝对路径添加到环境变量中。
然后再运行source /etc/profile 命令重新运行profile配置文件,这次直接使用命令hello可以看到应用程序正常运行。
#注意
测试完成后记得恢复profile文件的内容