Linux shell编程学习笔记(三) 脚本参数

来源:互联网 发布:内蒙古大数据局局长 编辑:程序博客网 时间:2024/05/31 20:51

1、脚本传递参数测试

#!/bin/bash#test.sh#test pass parameters#by wzs 20171021echo "$# parameters"echo "$@"

运行脚本如下:

book@wzs:~/work/tq210/shell$ ./test.sh a "b c d"2 parametersa b c d

2、管道

cmd1 | cmd2 , 把cmd1的标准输出与cmd2的标准输入相连

没有程序数量限制,可以无限增加管道,如:

book@wzs:~/work/tq210/shell$ head -5 /etc/passwdroot:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/bin/shbin:x:2:2:bin:/bin:/bin/shsys:x:3:3:sys:/dev:/bin/shsync:x:4:65534:sync:/bin:/bin/syncbook@wzs:~/work/tq210/shell$ book@wzs:~/work/tq210/shell$ head -5 /etc/passwd | grep bashroot:x:0:0:root:/root:/bin/bash


3、文件描述符

无符号整数的句柄,打开现有文件或新建文件时,内核都会返回一个文件描述符

读写文件时需要指定文件描述符

标准输入的文件描述符是0

标准输出的文件描述符是2

标准错误的文件描述符是2

4、重定向

重定向标准输出:> 或 1>

book@wzs:~/work/tq210/shell$ cat test.sh > 1.textbook@wzs:~/work/tq210/shell$ cat test.sh 1> 1.text
重定向标准错误:2>

重定向标准输入:0<

重定向标准输出和标准错误:&>

5、特殊文件

 /dev/null:所有写入/dev/null的信息都消失

/dev/zero:创建一个指定长度,并且初始化为空的文件