![如何在shell中执行一个模块,这个模块需要传入参数,第1张 如何在shell中执行一个模块,这个模块需要传入参数,第1张](/aiimages/%E5%A6%82%E4%BD%95%E5%9C%A8shell%E4%B8%AD%E6%89%A7%E8%A1%8C%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%EF%BC%8C%E8%BF%99%E4%B8%AA%E6%A8%A1%E5%9D%97%E9%9C%80%E8%A6%81%E4%BC%A0%E5%85%A5%E5%8F%82%E6%95%B0.png)
一般以#!/bin/sh开头(不是必须要写,但一定要单独一行),指定执行这个脚本的shell程序(也可以用#!/bin/zsh或其他),然后就是堆
命令了。Linux的shell脚本支持很多功能,加上Linux高度
模块化的命令,完全可以用shell脚本写出复杂的程序。以上只是简单介绍如何开始写shell脚本,如果要写复杂的脚本,还需要深入学习相关知识(如if——fi、case——esac等结构)。当然,还需要给脚本加上可执行权限(chmod+x./file.sh),否则可以用sh./file.sh方式执行脚本(这里的sh是执行脚本所需shell,命令也可以是zsh./file.sh或其他)。8.3.2 modprobe命令modprobe命令主要用于在Linux 2.6
内核中加载和删除Linux内核模块。通过此命令用户可以轻松地加载和删除Linux内核模块,同时使用此命令加载Linux内核模块时,Linux内核会自动解决内核模块之间的依赖关系,将相互依赖的模块自动加载,如下所示:1) 加载RAID1阵列级别模块:[root@rhel5 boot]# modprobe raid1 2) 显示已加载的RAID1阵列级别模块:[root@rhel5 boot]# lsmod |grep raid1 raid1 25153 0 3) 删除RAID1阵列级别模块:[root@rhel5 boot]# modprobe -r raid1 4) 显示RAID1阵列级别模块:[root@rhel5 boot]# lsmod |grep raid1 modprobe命令在加载模块时会自动解决依赖的模块。当加载的模块需依赖另一个模块时,系统会自动将此模块加载。而当用户使用insmod命令加载模块时,则不会自动解决相对应的依赖模块。modprobe命令中的"-r"参数表示删除指定模块,"-c"参数表示显示/etc/modprobe.conf配置文件的参数,"-C"参数表示指定内核配置文件,"-f"表示覆盖,"-l"表示显示模块的绝对路径。[root@rhel5 boot]# modprobe -l|grep raid /lib/modules/2.6.18-8.el5/kernel/drivers/md/raid0.ko /lib/modules/2.6.18-8.el5/kernel/drivers/md/raid456.ko /lib/modules/2.6.18-8.el5/kernel/drivers/md/raid1.ko /lib/modules/2.6.18-8.el5/kernel/drivers/md/raid10.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/megaraid.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/aacraid/aacraid.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_mbox.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_mm.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_sas.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/raid_class.ko 以上命令表示显示系统中所有的编译模块,并过滤包含有raid字符串的模块。内核不直接获取shell变量,shell是一个应用程序,用来执行mkdir ,并将sss传递给mkdir,mkdir用arg数组来接收这个参数后,使用文件 *** 作接口来对文件节点进行 *** 作,创建一个文件夹
评论列表(0条)