日期:2014-05-16  浏览次数:20691 次

LInux shell入门 --- 基础
Linux Shell Scripting Tutorial(A Beginner’s handbook)
[url=Linux Shell Scripting Tutorial (LSST) v1.05r3]http://www.freeos.com/guides/lsst/ch03.html[/url]

Quick Introduction to Linux
Shell是用来交互的用户程序或者环境,是一个从标准输入(键盘)或者文件中执行命令的命令行语言解释程序。它不是系统内核的一部分,它使用系统内核来执行程序,创建文件等。
$ cat /etc/shells(查看系统支持的所有shell)
echo $SHELL(查看当前正在使用的Shell)
Shell内置变量:
echo $?(查看执行Shell命令后的退出状态 0代表成功,非0代表有问题)
echo $#(查看Shell的参数个数)
echo $*(查看Shell的所有参数)
echo $@(查看Shell的所有参数)
echo $$(查看Shell的PID)
echo &$!(查看上一个启动的后台进程的PID)
echo $0(Shell Script的文件名称)
echo $n(Shell Script的第n个参数)

系统变量:默认大写,用户自定义变量:默认小写
用户自定义变量:变量名=变量值
变量名规则:
echo命令:用来显示文本或者变量的值
Shell运算:expr op1 math-operator op2

双引号”、单引号’、左引号`(Back quote,居于键盘的左上角和~在同一个键位、执行命令的作用,eg:echo "Today is `date`")
退出状态
read variable1 variable2...variableN 从键盘中得到用户输入的数据并保存的相应变量中(多个变量用空格隔开)
command1;command2 多个命令一起执行
输入输出重定向
>,把命令或者脚本执行结果输出到文件,如果文件已经存在,那么覆盖
>>,把命令或者脚本执行结果输出到文件末尾,不会覆盖原有信息
<,Linux-command < filename,从文件而不是键盘中得到输入参数
管道|,前一个命令的输出作为后一个命令的输入ls | more
$ tail +20 < hotel.txt | head -n30 >hlist
& 后台进程符号,单一个& 符号,且放在完整指令列的最后端,即表示将该指令列放入后台中工作。

Shell Script:是保存在纯文本文件中的一系列命令,类似与MS-DOS下的批处理文件,但是比批处理文件更加强大。
编写Shell脚本:
1,使用文本编辑器vi、mcedit来编写shell srcipt
2,chmod授权
3,执行bash your-script-name、sh your-script-name、./your-script-name、. command-name
4,注意:./代表当前目录,只有一个.的时候代表在当前的shell环境下执行脚本