c - 在用 C 语言编写的 shell 中,history 命令如何仅将 unix 命令发送到历史文件

标签 c linux bash shell unix

我有一个作业要求我创建一个历史命令,但我一直在试图弄清楚程序如何识别输入是 Unix 命令,然后将其发送到文件。如果用户输入垃圾内容,则不会将其发送到历史文件;但如果他们输入诸如date之类的内容,则会将其发送到历史文件中。

最佳答案

您必须“查看”环境变量 PATH,如果命令的第一个单词对应于 PATH 内的程序,或者(如果它以“/”开头并且该程序存在),您可以编写到文件中。祝你好运!

关于c - 在用 C 语言编写的 shell 中,history 命令如何仅将 unix 命令发送到历史文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22775495/

相关文章:

Bash:在调用 shell 的上下文中执行脚本

linux - 将批处理文件函数转换为 bash

python - 无法调用Python C扩展中的方法

c - 如果指数是变量,为什么从 pow() 输出的超大值不以相同的方式强制转换?

mysql - 在 mysql 容器中提交数据

linux - bash 脚本仅在前面的代码完成后运行多个 C++ 代码

linux - 狂欢 : how to use a function (which is a string param) in an other function

c - 使用Mingw后打开.exe

call_usermodehelper/call_usermodehelperpipe 用法

linux - 在一个文件仍在写入时同步两个文件