shell脚本编程
编程语言的分类:根据运行方式
- 编译运行:源代码 --> 编译器 (编译)--> 程序文件;
- 解释运行:源代码 --> 运行时启动解释器,由解释器边解释边运行;
shell脚本格式:
脚本文件的第一行,顶格:给出shebang(解释器路径),用于指明解释执行当前脚本的解释器程序文件
常见的解释器:
#!/bin/bash
#!/usr/bin/python
#!/usr/bin/perl
文本编程器:nano
行编辑器:sed
全屏幕编程器:nano, vi, vim
运行脚本:
-
赋予执行权限,并直接运行此程序文件;
chmod +x /PATH/TO/SCRIPT_FILE
/PATH/TO/SCRIPT_FILE -
直接运行解释器,将脚本以命令行参数传递给解释器程序;
bash /PATH/TO/SCRIPT_FILE
练习:
(1) 显示/etc目录下所有以大写p或小写p开头的文件或目录本身
(2) 显示/var目录下的所有文件或目录本身,并将显示结果中的小写字母转换为大写后显示
(3) 创建临时文件/tmp/ycgod.xxxx
#!/bin/bash ls -d /rtc/[pP]* ls -d /var/* | 'a-z' 'A-Z' mktemp /tmp/ycgod.XXXX
脚本的状态返回值:
默认是脚本中执行的最后一条件命令的状态返回值
[root@centos7 ~]# id usr3 &> /dev/null && exit 0 || useradd usr3 logout There are stopped jobs. useradd: user 'usr3' already exists
shell脚本的参数传递
位置参数变量
执行脚本和执行命令一样,在脚本后加上多个参数,用空格隔开即可,例如myscript.sh argu1 argu2
引用方式:
\$1, \$2, ..., \${10}, ${11}, ...
例如:
~]#vim sum.sh #!/bin/bash # echo $[$1+$2]