#包括<;sys/wait.h>;
#包括<;unistd.h>;
#包括<;stdlib.h>;
#包括<;标准h>;
#包括<;字符串.h>;
#定义读取大小1024
#定义拆分大小64
#“定义分隔符”\t\r\n\a“;
int main();
空环(void);
字符*读线(无效);
char**splitLine(char*命令);
int开始(字符**args);
int执行(字符**args);
我正在尝试用c语言编写一个shell程序。程序运行,但当我键入命令并执行时,它会显示“lsh:没有这样的文件或目录”。我把函数声明放在这个问题中,只是因为我的代码大约有150行。输出示例如下所示:
>;ls-l
lsh:没有这样的文件或目录
&燃气轮机;pwd
lsh:没有这样的文件或目录
&燃气轮机;
可能您没有安装程序lsh
。但是lsh
是SSH协议的一个实现。以下是维基百科的描述。我认为lsh
甚至不是bash
或sh
的替代品。它只用于登录远程计算机。因此,lsh
不知道如何执行它(如果您安装了它)。尝试将可执行字符串(或#define
)设置为bash
而不是lsh