linux下Bash局部变量及信号捕捉等概念解释
2016-05-03 17:18
525 查看
linux下Bash局部变量及信号捕捉等概念解释1.脚本配置文件
/etc/rc.d/init.d/服务脚本可支持配置文件,并放置在/etc/sysconfig/下同名的配置文件
2.局部变量:只对本函数内部等有效,关键字为local
以两个脚本显示变量带或不带local时的区别
2.1编写如下脚本:vim A1.sh
#!/bin/bash
A=1
SUM() {
A=8
}
SUM 调用函数
for I in `seq $A 10`; do
echo -n "$I "
done
echo
./A1.sh:执行脚本显示结果如下:
2.2编写如下脚本:vim A2.sh、
#!/bin/bash
A=1
SUM() {
local A=8
}
SUM 调用函数
for I in `seq $A 10`; do
echo -n "$I "
done
echo
3.命令mktemp创建临时文件或目录
格式:mktemp /tmp/file.XX
-d: 创建为目录
4.信号,脚本中能实现信号捕捉,但对9和15无法进行捕捉
格式:kill -SIGNAL PID
1: HUP 2: INT 9: KILL 15: TERM 19:SIGSTOP
Ctrl+c: SIGINT Ctrl+Z:SIGSTOP
trap命令:trap '命令' 信号列表
代表跟踪信号并做出动作
命令中可执行多条语句或用函数
Bash中一行执行多个语句,语句间用分号分隔
4.1.编写ping IP地址如在线显示up,不在线显示down,按crtl+c中止ping脚本,如下:
#!/bin/bash
int() {
echo 'quiting!!!'
exit 8
}
trap 'int' INT 用函数
for I in {1..20}; do
if ping -c 1 -W1 1.1.1.$I &> /dev/null ; then
echo "1.1.1.$I is up"
else
echo "1.1.1.$I is down"
fi
done
4.2.编写ping IP地址如在线显示up,不在线显示down,按crtl+c中止ping脚本,如下:
#!/bin/bash
trap 'echo "Quiting";exit 1' INT 执行多条语句,用分号隔开
for I in {1..20}; do
if ping -c 1 -W1 1.1.1.$I &> /dev/null ; then
echo "1.1.1.$I is up"
else
echo "1.1.1.$I is down"
fi
done
本文出自 “夏维柳” 博客,请务必保留此出处http://willow.blog.51cto.com/6574604/1769791
/etc/rc.d/init.d/服务脚本可支持配置文件,并放置在/etc/sysconfig/下同名的配置文件
2.局部变量:只对本函数内部等有效,关键字为local
以两个脚本显示变量带或不带local时的区别
2.1编写如下脚本:vim A1.sh
#!/bin/bash
A=1
SUM() {
A=8
}
SUM 调用函数
for I in `seq $A 10`; do
echo -n "$I "
done
echo
./A1.sh:执行脚本显示结果如下:
2.2编写如下脚本:vim A2.sh、
#!/bin/bash
A=1
SUM() {
local A=8
}
SUM 调用函数
for I in `seq $A 10`; do
echo -n "$I "
done
echo
3.命令mktemp创建临时文件或目录
格式:mktemp /tmp/file.XX
-d: 创建为目录
4.信号,脚本中能实现信号捕捉,但对9和15无法进行捕捉
格式:kill -SIGNAL PID
1: HUP 2: INT 9: KILL 15: TERM 19:SIGSTOP
Ctrl+c: SIGINT Ctrl+Z:SIGSTOP
trap命令:trap '命令' 信号列表
代表跟踪信号并做出动作
命令中可执行多条语句或用函数
Bash中一行执行多个语句,语句间用分号分隔
4.1.编写ping IP地址如在线显示up,不在线显示down,按crtl+c中止ping脚本,如下:
#!/bin/bash
int() {
echo 'quiting!!!'
exit 8
}
trap 'int' INT 用函数
for I in {1..20}; do
if ping -c 1 -W1 1.1.1.$I &> /dev/null ; then
echo "1.1.1.$I is up"
else
echo "1.1.1.$I is down"
fi
done
4.2.编写ping IP地址如在线显示up,不在线显示down,按crtl+c中止ping脚本,如下:
#!/bin/bash
trap 'echo "Quiting";exit 1' INT 执行多条语句,用分号隔开
for I in {1..20}; do
if ping -c 1 -W1 1.1.1.$I &> /dev/null ; then
echo "1.1.1.$I is up"
else
echo "1.1.1.$I is down"
fi
done
本文出自 “夏维柳” 博客,请务必保留此出处http://willow.blog.51cto.com/6574604/1769791
相关文章推荐
- Linux 之 shell 比较运算符
- vMware 5.5 利用vcenter的powershell 批量创建虚拟机
- SHELL syntax error:unexpected end of file 提示错误
- 初步认识shell
- shell 中的单行注释和多行注释
- Calabash-android环境搭建
- Vim插件:Conque Shell,在vim中打开终端的功能
- Shell典型应用Nginx之应用日志分析
- XSHELL 5 退格键不能用,删除会有乱码,按截图设置
- Linux IP代理筛选系统(shell+proxy)
- Win10 Bash初体验
- Linux常用工具之XFTP、Xshell配置
- shell之curl用法笔记
- 06- Shell脚本学习--其它
- linux shell自定义函数(定义、返回值、变量作用域)介绍
- 希尔排序(Shell Sort)
- shell中各种括号的作用()、(())、[]、[[]]、{}
- 启动、关闭外部进程ShellExecute() 、CreateProcess()、TerminateProcess()、OpenProcess()==
- 用shell脚本模拟用户按键、触摸操作
- centos 下用shell脚本启动jar包