shel 编程拾锦

阅读: 评论:0

shel 编程拾锦

shel 编程拾锦

本文主要是一些shell编程的总结,比较基础

1、 if 语句中变量与特定值比较

if [ "$#" -eq "3" ]; thenecho "####"
elseecho "###"
fi


2、时间戳

today=`date "+%Y%m%d"`


3、书写路径

LOG=/home/boy
NEWLOG=$LOG/newlog.log
LOG=/home/boy/
NEWLOG=$LOG"newlog.log"


4、等于号 = , c/c++同仁么要注意!!!!!

     不等于号 !=


5、日志函数

logfile=/home/boy/log/20131105.log
writeLog()
{time=`date "+%D%T"`echo "[ $time ]  $1" >> $logfile# whether output to screenif [ "$2" = "ok" ]; thenecho "$1"fi
}


6、包含多个条件的if语句

if [ -f &#f" -a -f &#f" -a -f &#f" ];thenecho "###"
fiif [ -f &#f" ] && [ -f &#f" ] && [ -f &#f" ];thenecho "###"
fi

-a 和&& 还是有点区别的。第一种情况下三个条件都会计算,而第二种则是短路逻辑的形式。就是只在前一个条件成立的情况下计算下面的条件。


7、提取变量的值

TEST=128.10.10.34
echo $TEST | cut -d= -f2
cat $FILE | cut -d= -f2  # cat主要用于文件if [ "$NUM" = "" ];then  #NUM=`echo $TEST | cut -d= -f2`echo "##"
fi


8、grep使用必知

grep中可以使用正则表达式。

grep匹配成功,$?=0, 否则为1

TEMP=`echo $NUM | grep NUM`
if [ "$TEMP" = "" ];thenecho "###"
fi


9、获取目录下文件个数

NUM=`ls | wc -l`
NUM`ls |  | wc -l` #添加额外的过滤条件


10、使用循环扫描变量

for line in $FILES
doecho $line
done


11、打印变量值

NUM="boy"
echo "he is a $NUM" # 推荐
echo "he is a "$NUM""
echo "he is a ${NUM}"


12、scp使用

scp /home/ root@111.10.23.3:/tmp/log
scp filepath root@$IP:$DIR


13、如何在远程服务器执行语句

ssh 10.0.119.10 "; ls -al; python newpy.py"

在实际工作中,可以先将需要在远程服务器中执行的脚本scp过去,然后,

ssh 10.0.119.10 "sh script.sh" 


14、函数参数个数

sh test.sh he is a boy

$#=4, 参数个数是不包括函数名的。区别与c语言中main函数的argc。


15、调试技巧

有时候为了调试脚本的方便,可以在脚本中将一些重要的信息打印出来。为了是该信息更加明显,可以用一些特殊的符号,如# * -之类的。

echo "#################$INFO#################"


16、执行变量中的语句

NUM="ls -a"
eval $NUM

17、去除重复行,仅显示唯一行

sort     LINES | uniq 
LINES为变量


18、计算变量值

NUM=3
$((++NUM))=4 






本文发布于:2024-02-04 20:07:43,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170715483059189.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:shel
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23