【发布时间】:2016-05-23 17:01:59
【问题描述】:
我正在做这个程序,让用户输入 c 字符串,然后我想创建一个函数来检查用户输入的字符串是否是 linux 命令。 前任。 用户:猫 输出:cat 是一个命令
用户:你好 输出: hello 不是命令
等等……
有人告诉我可以使用 execvp,但我不想执行命令只是为了确定它是否存在,我只想确定它是否存在。
我认为可以使用 linux 的 whereis 命令输出特定命令的位置,但我不知道如何在 c 中实现。
我还被告知 stat() 可以工作,但我不确定它是如何工作的,因为它的 marcos 只更改目录和文件。那么像 cat 文件这样的命令吗?如果是这样,当我运行 stat 时:
stat(cmd, &buff);
我不需要 cmd 的路径吗?
总的来说,我如何确定用户是否使用 c 在 linux 中输入了有效命令并让解决方案相对可移植?
【问题讨论】:
标签: c linux shell command-line command