shell编程学习(3)

======================================================================
                          第三篇
======================================================================

1、复合表达式
!expr           若expr表达式为假,则复合表达式为真。expr可以为任意有效的测试表达式
expr1 -a expr2  若expr1和expr2都为真,则复合表达式为真。也可以使用:[expr1] && [expr2]
expr1 -o expr2  若expr1和expr2有一个为真,则复合表达式为真。也可以使用:[expr1] || [expr2]
2、case语句
case word in
  partten1) list1;;
  partten2) list2;;
esac
3、循环
while command; (可以使用continue和break命令)
do
  list
done
while ; (无限循环,可使用break跳出)
do
  list
done
for name in word1 word2
do
  list
done
4、特殊的shell变量
$0:正在被执行命令的名字。对于shell脚本而言,这是被激活命令的路径。
$n:这个变量与脚本被激活时所带的参数相对应。n是10进制整数。
$#:提供脚本的参数号
$*:所有这些参数都被双引号引住。若脚本接受两个参数,则$*等于$1$2
$@:所有这些参数都分别被双引号引住。若脚本接受两个参数,则$*相当于$1$2
$?:前一个命令执行后的退出命令
$$:当前shell的进程号。对于shell脚本,这是其中正在执行时的进程ID
$!:前一个后台命令的进程号
5、输出流
标准输出:当命令产生写向终端的输出时。(使用命令:echo和printf)
标准错误输出:不写向标准输出,而是保存到特殊文件。
6、输入
将输入重定向到文件,从文件中读取输入
从用户读取输入
将一个命令的输出重定向到另一个命令的输入
7、输入输出重定向
可以将一个文件描述符合一个输出重定向符结合起来执行一般情况下的输出重定向
command n>file,将command的输出重定向到指定的file
command n>>file,将command的输出增加到指定的file
通用输入重定向类似输出重定向
command n<file
8、将STDOUT和STDERR输出到不同文件
command 1>file1 2>file2
9、文件/dev/null作用
是所有unix系统中都能使用的用于删除的一个特殊文件,有时也不被称为bit bucket
10、STDOUT和STDERR输出到同一文件
command >file1 2>&1
======================================================================
以上内容为本人学习的一点体会和总结,如有不正确之处,请指出,不甚感激
======================================================================

你可能感兴趣的:(unix,脚本)