歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

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
Copyright © Linux教程網 All Rights Reserved