man 中说到:
Read and execute commands from filename in the current shell environment and return the exit status of the last command executed from filename.
例子:
------ a1.sh ------
#!/bin/sh
./b.sh #如此执行则b.sh 必须有可执行权限
-------------------
------ a2.sh ------
#!/bin/sh
. b.sh #如此写法则b.sh 可以没有可执行权限
-------------------
------ b.sh ------
#!/bin/sh
sleep 100
-------------------
执行:
sh a1.sh #进程中会看到 b.sh
sh a2.sh #进程中不会看到 b.sh
Read and execute commands from filename in the current shell environment and return the exit status of the last command executed from filename.
例子:
------ a1.sh ------
#!/bin/sh
./b.sh #如此执行则b.sh 必须有可执行权限
-------------------
------ a2.sh ------
#!/bin/sh
. b.sh #如此写法则b.sh 可以没有可执行权限
-------------------
------ b.sh ------
#!/bin/sh
sleep 100
-------------------
执行:
sh a1.sh #进程中会看到 b.sh
sh a2.sh #进程中不会看到 b.sh
情景:
从机器A到机器B发起连接,连接超时时间设置为1s,有一定概率的连接失败的情况,使用下面脚本来测试,不断连接,放过成功的连接,只显示失败的连接,并且显示连接失败的时间,脚本如下:
从机器A到机器B发起连接,连接超时时间设置为1s,有一定概率的连接失败的情况,使用下面脚本来测试,不断连接,放过成功的连接,只显示失败的连接,并且显示连接失败的时间,脚本如下:
- while :; do r=`nc -z -v -w 1 10.79.40.43 11231 2>&1 | grep -v succe`;if [ "x$r" != "x" ]; then d=`date +"%H:%M"`;echo -n "$d "; echo $r; fi ; done
检查网络连通性:
while :; do nc -z -v -w 1 10.79.40.43 11231 | grep -v succe; done
while :; do nc -z -v -w 1 10.79.40.43 11231 | grep -v succe; done
1. 源文件需要是UTF-8编码的
2. 可以通过环境变量 DOTFONTPATH 来设置字体目录, 如果设置字体为 aaa ,则查找的字体文件为 aaa.ttf 等还有其他格式的字体文件。
3. 在windows下可以设置 DOTFONTPATH=c:\windows\fonts
问题:
# sar -q
Invalid system activity file: /var/log/sa/sa04 (0x5)
分析过程:
1. google之: 得到如下信息:

来自: http://sebastien.godard.pagesperso-orange.fr/faq.html
2. 怀疑是生成sa数据文件的sar和解析sa数据文件的sar命令的版本不同
# which sar
/usr/local/bin/sar # 这个是我读取sa数据文件的命令,版本号 8.0.0
# sar -V
sysstat version 8.0.0
(C) Sebastien Godard (sysstat <at> orange.fr)
3. 如何知道生成sa数据文件使用的是那个版本的sar呢?
一般这些文件都是写在cron里面的,所以grep一下cron的配置文件:(注意: grep sa 不是grep sar)
# grep sa -r /etc/cron*
/etc/cron.d/sysstat:*/10 * * * * root /usr/lib/sa/sa1 1 1
/etc/cron.d/sysstat:53 23 * * * root /usr/lib/sa/sa2 -A
# /usr/lib/sa/sa1 -V
sysstat version 7.0.2
(C) Sebastien Godard
4. 为什么会出现这种情况呢?
7.0.2 版本的sar是在 /usr/bin/ 目录下的, 而我的执行环境中的$PATH 变量如下:
# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin
先找到了 /usr/local/bin 下的sar了
解决办法: (写sar的全路径呗)
#/usr/bin/sar -q
# sar -q
Invalid system activity file: /var/log/sa/sa04 (0x5)
分析过程:
1. google之: 得到如下信息:
来自: http://sebastien.godard.pagesperso-orange.fr/faq.html
2. 怀疑是生成sa数据文件的sar和解析sa数据文件的sar命令的版本不同
# which sar
/usr/local/bin/sar # 这个是我读取sa数据文件的命令,版本号 8.0.0
# sar -V
sysstat version 8.0.0
(C) Sebastien Godard (sysstat <at> orange.fr)
3. 如何知道生成sa数据文件使用的是那个版本的sar呢?
一般这些文件都是写在cron里面的,所以grep一下cron的配置文件:(注意: grep sa 不是grep sar)
# grep sa -r /etc/cron*
/etc/cron.d/sysstat:*/10 * * * * root /usr/lib/sa/sa1 1 1
/etc/cron.d/sysstat:53 23 * * * root /usr/lib/sa/sa2 -A
# /usr/lib/sa/sa1 -V
sysstat version 7.0.2
(C) Sebastien Godard
4. 为什么会出现这种情况呢?
7.0.2 版本的sar是在 /usr/bin/ 目录下的, 而我的执行环境中的$PATH 变量如下:
# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin
先找到了 /usr/local/bin 下的sar了
解决办法: (写sar的全路径呗)
#/usr/bin/sar -q




2012/05/20 01:23 | 
