一次开发中使用过的shell命令

Posted guoruiak

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一次开发中使用过的shell命令相关的知识,希望对你有一定的参考价值。

1.时间计算

starttime=`date +%Y-%m-%d %H:%M:%S`;
endtime=`date +%Y-%m-%d %H:%M:%S`;
start_seconds=$(date --date="$starttime" +%s);
end_seconds=$(date --date="$endtime" +%s);
echo end_seconds-start_seconds

 

2.获取链接返回的状态码

checkurl=http://www.baidu.com
curl --connect-timeout 1 -s -w "%{http_code}" -o temp  ${checkurl}

 

3.while...do,for循环;条件判断if;退出程序exit

while (( `curl --connect-timeout 1 -s -w "%{http_code}" -o temp ${checkurl}` != 200 ))
do
            for i in $(seq 1 20); do echo sleep countdown to wait url is ok:$((20-$i)); sleep 1; done;//倒计时
            endtime=`date +%Y-%m-%d %H:%M:%S`;
            start_seconds=$(date --date="$starttime" +%s);
            end_seconds=$(date --date="$endtime" +%s);
            if [[ $((end_seconds-start_seconds)) > 600 ]]; then 
                exit 1
            fi    
done

 

4.字符串截取和替换

checkurl=${line#*=}    //截取变量line,等号右边的保留
checkurl=${checkurl/\$\{ESMHOST\}/sss}   //用sss替换checkurl中的${ESMHOST}

 

5.文本文件的字符串替换

 文件中所有的abc都替换为aaaaa

sed -i s#abc#aaaaa#g ./docker-compose.yml

 

6.模糊匹配

如果变量包含字符串‘register.node.checkurl‘

if [[ $line =~ register.node.checkurl ]];then

fi

 


以上是关于一次开发中使用过的shell命令的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse 中的通用代码片段或模板

Shell 实例:备份最后一天内所有修改过的文件

Sublime Text自定制代码片段(Code Snippets)

linux命令中显示之前操作过的所有命令的命令是啥

Linux shell命令讲解

zt:我使用过的Linux命令之ar - 创建静态库.a文件