设计一个简单的命令行指令

本文介绍了如何通过main函数接收命令行参数,并以一个自定义指令`print`为例,展示了如何处理附加条件。通过添加环境变量和设置别名,使得自定义指令能在命令行中运行,模拟了系统指令的运作过程。

在命令行输入pwd,就会显示当前路径

在命令行输入ls -al ,就会显示所有的文件及其对应的属性

虽然我们知道,每一个指令对应着一个文件,但是具体是如何运作的呢??

一、前说

我们一般通过main函数接收命令行参数

main函数可以带参数,也可以不带,我们就根据下面这张图说一下main函数的三个参数

第一个参数 argc:命令行输入的有效参数个数

第二个参数 argv[ ]:命令行输入的参数会被保存到这个数组中

第三个参数 env[ ]:自动填充到数组,查询当前环境下的环境变量

二、代码测试

我们自己设计一条指令名为 print

无附加条件时,打印“I receive command”

若有附加条件 -a,打印“I receive command 'print -a' ”

若有附加条件 -l,打印“I receive command 'print -l ' ”

1、测试能否接收到命令行数据

我们把 从命令行接收到的内容 打印出来

-a 的后面还有一个 NULL,但是NULL不属于有效字符,所以不打印出来

 

 

2、功能实现

 虽然看着有点怪,但是达到基本要求了
 

3、略微修正

 在使用命令行运行指令时,系统优先去环境变量中的路径查找是否存在对应的文件

如果环境变量中不存在,就会报错或者忽视命令

 

 所以我们可以把当前路径下的test 执行文件添加到 环境变量中

-----------------------------操作步骤如下---------------------------------------------

添加环境变量需要当前路径,先输入pwd获取当前所在路径

 然后通过export指令导入环境变量:export  环境变量名 = $完整路径

 检查是否导入成功

 使用环境变量名运行程序时,需要加$解引用,但是我们可以设置 $test 的别名

 使用alias设置别名,alias = '$test',这种设置方式仅在本次登录有效,一般不推荐设置

 下面正式运行试试

 现在是不是就有运行命令行指令那味儿了

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值