linux内核模块中调用shell脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux内核模块中调用shell脚本相关的知识,希望对你有一定的参考价值。

请问大神,有没有方法,或者有没有可能实现,写一个linux内核模块,模块加载的时候调用一个shell脚本。

参考技术A 内核模块是用C语言写的,如果你想开机启动脚本,可以将shell路径写在profile文件中追问

不是,我是想在内核模块中调用我的脚本,不是开机启动的时候。

如何在shell脚本中,判断一个基本命令执行是不是成功

1.连接到相应的Linux主机,进入Linux命令行状态,等待shell命令的输入。

2.在Linux命令行下,输入shell命令:Telnet192.168.120.209。

3.最后,按下回车键执行shell指令,此时会看到telnet并没有连接成功。

注意事项

附件:LINUX系统外壳原理

作为操作系统的外壳,Linux系统的外壳为用户提供了使用操作系统的接口。它是命令语言、命令解释器和编程语言的统称。

shell是用户和Linux内核之间的接口。如果您将Linux内核看作是球体的中心,那么shell就是内核周围的外层。当从shell或其他程序中进行指示时

当Linux传递一个命令时,内核会相应地做出响应。shell是一个命令语言解释器,它有自己的一组内置的shell命令,可以被系统的其他部分使用

由程序调用。用户在提示符处输入的命令由shell解释并传递给Linux内核。

扩展资料:

变量传递执行结果

1.shell通常放在/bin或/user/bin目录中。我们可以使用cat/etc/shell命令查看当前Linux系统上可用的shell。

2.使用echo$SHELL命令查看当前系统的默认SHELL并输出SHELL的环境变量。

3.shell中的Echo命令用于输出字符串。我们将需要输出的字符串用双引号括起来。

4.第一层的命令用PS1,第二层的命令用PS2, >是第二层的命令,如我们输入的命令没有结束的情况,显示的是第二层的命令。

5.我们使用echo$PS1和echo$PS2来查看提示符的当前格式,同样我们也可以修改命令提示符。

6.已经创建了一个shell脚本,使用vitest(自定义脚本名)进入脚本编辑页面,test是脚本的名称,后缀是.sh。

参考技术A

举个例子,执行一条基本语句建立一个文件

#!/bin/bash

touch test.txt
if [ $? -eq 0 ]
then
    echo "执行成功"
else
    echo "执行失败"
fi

$?可以判断上一条命令是否成功,成功为0,不成功为非0

本回答被提问者采纳
参考技术B true && echo success || echo fail
false && echo success || echo fail
参考技术C echo $?
一般返回0就是成功

以上是关于linux内核模块中调用shell脚本的主要内容,如果未能解决你的问题,请参考以下文章

Linux 内核Linux 内核特性 ( 组织形式 | 进程调度 | 内核线程 | 多平台虚拟内存管理 | 虚拟文件系统 | 内核模块机制 | 定制系统调用 | 网络模块架构 )

有没有办法从linux内核模块调用用户空间函数?

在linux中编写了一个小的内核模块,怎么编译成.ko文件?

Linux内核——通过模块动态添加系统调用

ioctl 与 Linux 中的内核模块

linux-kernel模块中的系统调用拦截(内核3.5)