【问题标题】:how to rewrite a linux command in c [closed]如何在c中重写linux命令[关闭]
【发布时间】:2013-02-19 01:29:46
【问题描述】:

我在课堂上的作业是将 cat 命令重写为程序。我已经写了很多代码,工作正常,但似乎教授希望我们只写“$ cat file1 file2”而不是“$ ./cat file1 file2”来执行我们的程序(不是shell命令) . Makefile 是这样写的:

CFLAGS=-std=c99 -pedantic -Wextra -Wall -O

all: cat

cat: cat.c 

clean:
       rm cat

我正在查看所有可用的笔记,但似乎找不到答案。如何通过我的程序重定向命令 cat?

【问题讨论】:

  • 这与 C 或 Makefile 无关。你只需要确保你的可执行文件是on the path
  • 你知道PATH这个环境变量是怎么工作的吗?

标签: c linux command


【解决方案1】:

为此,您需要在 $PATH 中包含 ./

export PATH=./:$PATH

但似乎这些说明只是为那些设置了 $PATH 的人编写的

【讨论】:

  • (1) 在. 之后不需要/ 和(2) 许多unix 专家不鼓励在您的路径中使用.:最好将可执行文件复制到~/bin (或者有些人更喜欢~/local/bin)并将该目录包含在您的PATH中。
  • 我知道这些,但听起来教授希望学生的系统是这样设置的
  • 别介意用自己的版本替换路径中的cat 程序可能是个坏主意
  • 谢谢大家——非常有帮助。这可能是个坏主意,如果我把代码发给他,教授也看不到。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-26
  • 2021-04-17
  • 2023-03-09
相关资源
最近更新 更多