Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

shell程序设计-<控制结构>-case语句

shell程序设计-&lt;控制结构&gt;-case语句

case语句 :它能够把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码。使用格式:case 匹配母板 in模板1 [ | 模板2 ] … ) 语句组 ;;模板3 [ | 模板4 ] … ) 语句组 ;;esaccase语句的匹配是从上往下地匹配顺序。因此,case语句编写的原则是从上往下,模板从特殊到普通。在C语言里,case语句中有default模板,而在shell程序设计中,可能将模板写成*,就可以完成相同的功能。case语...
准备进行Linux设备驱动的开发了

准备进行Linux设备驱动的开发了

首先是搭建开发环境,由于目标机是ARM2410,需要用到GCC,在Windows平台虽然有cygwin等工具可以模拟Linux环境,但是据说问题比较多,出了问题也不好解决,干脆还是直接转到Linux平台吧。 本来一直是用的Vmware装了RedHat9.0,来搭建的交叉编译环境,后来还是感觉是在太慢了,光是编译交叉工具链就要5个小时以上。正好同事中有用了5年Linux的高手,在他的帮助下,一狠心把vmvare卸载了,直接装Linux,用Linux作为主机...
Ubuntu调用函数分析

Ubuntu调用函数分析

俗话说365行,隔行如隔山(恩,我说的)。不同行业有不同行业的规矩,而今天说的Ubuntu操作系统也如此,今天我就闪了一下腰。程序很简单,大概是这样的。#include int main() { char *msg = "mnzn"; printf("msg is %s", msg); return 0; } 很简单吧,可是任凭我在x86-ubuntu的64位机器上怎么写汇编就是不对,刚才突然开窍,反汇编看了看,心里的谜团全部解释清楚了。1 |#inclu...
Linux下能不能替换运行中的程序

Linux下能不能替换运行中的程序

今天被朋友问及“Linux下可以替换运行中的程序么?”,以前依稀记得Linux下是可以的(而Windows就不让),于是随口答道“OK”。结果朋友发来一个执行结果:(test正在运行中)# cp test2 testcp: cannot create regular file `test": Text file busy看起来是程序被占用,无法覆盖。于是自己又再做了几个实验:(1)先rm删除正在运行的test,然后cp test2 test就没有错误了。(...
在Linux系统中实现虚桩式内核模块

在Linux系统中实现虚桩式内核模块

最近在把以前做的一个驱动程序在线加载技术移植到SUSE的AutoYaST安装系统中时遇到了一点小麻烦。AutoYaST采用SuSE自己编写的Linuxrc作为其初期引导部分,有别于大部分常规的initrd引导部分,Linuxrc是直接用C语言编写的,而且几乎没有提供什么扩充的灵活性。如此一来,就无法像以往移植到其它环境中那样单纯修改引导脚本就可以搞定。虽说直接修改Linuxrc的源码也可以达到这个目的,但这样就增加了后期维护的复杂度。唉,还真是个头疼的问题...
升级Linux内核错误解决

升级Linux内核错误解决

因为要使用ntfs-3g(内核至少2.6.22才不会有warning提示)的写功能,所以将自己机器上的linux(debian)内核从2.6.18升级到目前最新的2.6.25.9 下载源码,定制参数选项(make menuconfig,很重要,好多问题其实出现在参数的配置上),make;make modules_install;make install,就是这么简单。 最后还是要生成initrd文件的,可以使用yaird命令 这里记录一下升级过程中碰到的两...
Linux终端不回显

Linux终端不回显

一直想在Linux下写段程序试试输入不回显的东西,但是一直被一些事情所羁绊(其实是自己懒,玩游戏去了),直到最近要在公司的代码上加东西。于是乎,一轮 google 以后,终于找到了答案,其实是因为自己看APUE看的头晕了。代码很简单,先用 tcgetattr 取到现有的属性,然后在现有属性上设置 XXX.c_lflag &= ~ECHO ,再用 tcsetattr 把新属性给设置上去,就行了,对于两个终端相关的函数,需要提供 fd ,对于 stdi...
Linux2.6与2.4内核驱动程序的区别

Linux2.6与2.4内核驱动程序的区别

为了彻底防止对正在被使用的内核模块进行错误操作,Linux2.6内核在加载和导出内核模块方面都较2.4内核有所改进,避免了用户执行将导致系统崩溃的操作(例如强制删除模块等)。同时,当驱动程序需要在多个文件中包含头文件时,不必定义宏来检查内核的版本。与2.4内核相比,2.6内核在可扩展性、吞吐率等方面有较大提升,其新特性主要包括:使用了新的调度器算法;内核抢占功能显著地降低了用户交互式应用程序;多媒体应用程序等类似应用程序的延迟;改进了线程模型以及对NPTL...
<< 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 >>