码迷,mamicode.com
首页 > 系统相关 > 详细

linux下Bash局部变量及信号捕捉等概念解释

时间:2016-05-03 20:36:23      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:linux下bash局部变量及信号捕捉等概念解释

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

linux下Bash局部变量及信号捕捉等概念解释

标签:linux下bash局部变量及信号捕捉等概念解释

原文地址:http://willow.blog.51cto.com/6574604/1769791

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!