10.if语句判断变量是否为某个值(防止空串)
因为数值的比较操作数不能为空,所以如果变量可能为空,且仅仅是进行等于或者不等于的比较操作时,则应转化为:
if [ "-$VarName" = "-5" ]; then
而不要使用 if [ $VarName –eq 5 ]; then
数值测试有如下比较符:
-eq 、-ne、-gt、-lt、-le、-ge
对于-gt 、-lt、 -le 、 -ge等其他比较符,有以下两种方法:
a) 先判断是否为空,然后再做比较(适用于确定变量为数字的情况)
b) 先判断为数字,然后再做比较(适用于不确定变量为数字的情况)。
if ["-$VarName" != "-" ]; then
if [ $VarName –gt 5 ]; then
......
或者
is_integer $VarName
if [ $? = 0 ] ; then
if [ $VarName –gt 5 ]; then
......
注:is_integer函数判断一个串是否是整数,见章节“六.31 iTELLIN示例十五”
11.nm命令察看一下xxx.o文件中是否有多个相同名字的函数
12.ps、grep和awk显示属于某个用户的所有进程(并杀死)
方法一:ps + grep
list=ps -e -f | grep USRID
方法二:ps -u
list=`ps -u $LOGNAME`
方法三(推荐)ps + grep + awk:
list=`ps -u $LOGNAME|grep -v csh|grep -v PID|awk '{print $1}'`
说明:
grep –v csh 避免杀死本sh程序(也有可能遗漏一些sh程序)
grep –v PID 由于ps显示有顶行标题,此句可以过滤此行
杀死程序:
for i in $list
do
kill -9 $i
done
因为数值的比较操作数不能为空,所以如果变量可能为空,且仅仅是进行等于或者不等于的比较操作时,则应转化为:
if [ "-$VarName" = "-5" ]; then
而不要使用 if [ $VarName –eq 5 ]; then
数值测试有如下比较符:
-eq 、-ne、-gt、-lt、-le、-ge
对于-gt 、-lt、 -le 、 -ge等其他比较符,有以下两种方法:
a) 先判断是否为空,然后再做比较(适用于确定变量为数字的情况)
b) 先判断为数字,然后再做比较(适用于不确定变量为数字的情况)。
if ["-$VarName" != "-" ]; then
if [ $VarName –gt 5 ]; then
......
或者
is_integer $VarName
if [ $? = 0 ] ; then
if [ $VarName –gt 5 ]; then
......
注:is_integer函数判断一个串是否是整数,见章节“六.31 iTELLIN示例十五”
11.nm命令察看一下xxx.o文件中是否有多个相同名字的函数
12.ps、grep和awk显示属于某个用户的所有进程(并杀死)
方法一:ps + grep
list=ps -e -f | grep USRID
方法二:ps -u
list=`ps -u $LOGNAME`
方法三(推荐)ps + grep + awk:
list=`ps -u $LOGNAME|grep -v csh|grep -v PID|awk '{print $1}'`
说明:
grep –v csh 避免杀死本sh程序(也有可能遗漏一些sh程序)
grep –v PID 由于ps显示有顶行标题,此句可以过滤此行
杀死程序:
for i in $list
do
kill -9 $i
done