首页 > 其他 > 详细

shm|M) show memory usages; d|D) show disk usages; q|Q) quitell小技巧

时间:2014-02-07 05:01:58      阅读:375      评论:0      收藏:0      [点我收藏+]

#man  bash

${VAR_NAME#word}

   取得VAR_NAME中路径的基名,

   这里的word表示分隔符,而“#”表示是从左往右的方向分割,加一个“#”表示尽量向右匹配,

       所以“*”是在word的左侧

      这里相当于basename  COMMAND,但是这里可以针对任何变量。

# Path=/etc/rc.d/init.d/network

# echo ${Path#/}

etc/rc.d/init.d/network

# echo ${Path##/}

etc/rc.d/init.d/network

#echo ${Path##*/}  (从左向右,以"/"为分割符,尽量截掉到最右端,常用)

network



${VAR_NAME%word}  常用来取得路径中文件的路径,

       这里的word仍表示分隔符,而%表示从右往左的方向分割,加一个%表示尽量向左。

       所以“*”的匹配需要从word右侧。

# echo ${Path%/*}

/etc/rc.d/init.d


if判读语句中的取得奇偶数或者某个数的倍数时,需要使用取模运算:

   比如被除数为I,取值范围{1..999},除数为9,取得9的倍数的数值为ZHI

(1)    ZHI=$(bc  <<<  "scale=0;$I%9“

(2)    ZHI=$[$I%9]


$0 是脚本本身的名字

$1,$2,$3....为位置变量

$#,表示除$0之外的参数的个数。
$@,除$0之外的参数的列表,这个列表时分开的

$* ,除$0之外的参数的列表,但是这个列表是一个整体

$?,命令执行的状态返回值

$$ 是脚本运行的当前进程ID号

例子:计算参数列表的和

#!/bin/bash

declare -i SUM=0

for I in $@;do

       SUM+=$I

done

echo $SUM

#./sum.sh   1 2 3

#6


在for循环中计算某个命令执行的次数,比如成功增加用户的次数,这时可以先在前面定义

   declare  -i COUNT=0

   然后再在for循环中命令执行成功或失败后,执行COUNT+=1


for 、until、while中的continue、break

   continue是返回重新循环。

   break是直接打断循环


在进行bash字符串测试时,除“>"、"<"、“==”

也使用[[   $option1  =~   $option2   ]]进行模式匹配,

               模式:

               一般做行首、行尾锚定;不要加引号;

               但是不能做词首、词尾锚定

               可以使用正则表达式

查找 计算机cpu的公司,这里使用模式匹配

#!/bin/bash

#

Vendor=`grep "vendor_id" /proc/cpuinfo  | uniq | cut -d: -f2`

或者A=$(grep -o "Genuine.*" /proc/cpuinfo | head -1)

if [[ "$Vendor" =~ [[:space:]]*GenuineIntel$ ]]; then

 echo "Intel"

else

 echo "AMD"

fi


cat  <<  EOF

m|M) show memory usages;

d|D) show disk usages;

q|Q) quit

EOF

在执行时就可以执行并显示上面的信息了!






shm|M) show memory usages; d|D) show disk usages; q|Q) quitell小技巧

原文:http://caduke.blog.51cto.com/3365689/1355834

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!