Linux shell编程
本文网址:http://bbs.bitscn.com/72875 复制 【转自bbs.bitsCN.com】
1. Linux 脚本编写基础
1.1 语法基本介绍
1.1.1 开头
程序必须以下面的行开始(必须放在文件的第一行):
#!/bin/sh
符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。 当编辑好脚本时,如果要执行该脚本,还必须使其可执行。
要使脚本可执行: 编译 chmod +x filename 这样才能用./filename 来运行
1.1.2 注释
在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及工作原理。
1.1.3 变量
在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写:
#!/bin/sh
#对变量赋值:
a="hello world"
# 现在打印变量a的内容:
echo "A is:"
echo $a
有时候变量名很容易与其他文字混淆,比如:
num=2
echo "this is the $numnd"
这并不会打印出"this is the 2nd",而仅仅打印"this is the ",因为shell会去搜索变量numnd的值,但是这个变量时没有值的。可以使用花括号来告诉shell我们要打印的是num变量:
num=2
echo "this is the ${num}nd"
这将打印: this is the 2nd
1.1.4 环境变量
由export关键字处理过的变量叫做环境变量。我们不对环境变量进行讨论,因为通常情况下仅仅在登录
脚本中使用
相关文档:
一,绪论
1.课题背景
Linux下有系统提供的getpass()函数,可由于写的时候太早了,只支持8位字符,同时有安全隐患(溢出!),Linux出于对密码的保密,输入的字符是不会显示到屏幕上的。在登陆函数和密码修改函数内都没有提供密码回显提示,但是此设计对于一般的桌面级应用的初级用户带来了一定的麻烦,而且,没有任何密码 ......
Fedora 下是有/etc/inittab文件的,而在Ubuntu中是没有这一个文件的,因为在ubuntu中,inittab软件包已经被upstart软件包替换了,所有的配置信息都在/etc/event.d/目录下。inittab文件在inittab里面这样描述的,This inittab file describes how the INIT process should set up the system in a certain run-level.即在lin ......
Linux中tty、
pty、pts的概念区别
基本概念:
1> tty(终端设备的统称):
tty一词源于
Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘
与显示器取代,所以现在叫终端比较合适。
终端是一种字符型设备,它有多种类型,通常使用tty来 ......
Linux设备驱动程序之读书笔记(一)
——第三章字符设备驱动程序
○、说明
笔记适用于Linux的2.6.10以后的内核。
笔记以Linux Device Driver3提供的scull程序(scull目录中的main.c和scull.h) ......