参数检查

#!/bin/bash
set -e
if [ ! -n "$1" ];then
echo "Usage: #cmd <> []"
exit
fi

跨目录执行脚本但维持脚本与"."的相对位置不变

SH_PATH=$(cd $(dirname $0);pwd)
cd ${SH_PATH}

彩色日志输出

COLOR_RED='\033[1;31m'
COLOR_GREEN='\033[1;32m'
COLOR_NC='\033[0m' Log_INFO(){
msg=$1
echo -e "${COLOR_GREEN} [$(date "+%Y-%m-%d %T %N") INFO ] ${COLOR_NC}: ${msg} "
}
Log_ERR(){
msg=$1
echo -e "${COLOR_RED} [$(date "+%Y-%m-%d %T %N") ERROR] ${COLOR_NC}: ${msg} "
}

使用临时文件, 防止使用的文件与已知文件重名而被替换

TEMP_DIR=$(mktemp -dt temp_dir.XXXX)
TEMP_FILE=$(mktemp -t temp_file.XXXX)

输出到标准输出的同时写入到文件

date |tee ${TEMP_FILE}

逐行处理文本文件,注意文本要set fileformat=unix确保格式正确

cat $1|while read LINE
do
echo "${LINE}"
FILE_NAME=$(basename "${LINE}")
if [ "${FILE_NAME}" == "one_file" ];then
Log_INFO "eq"
Log_ERR "noeq"
fi
done

shell模板-跨目录执行,彩色输出,临时文件,行遍历文件的更多相关文章

  1. php 将网页执行的输出写入到本地文件中

    php -f /var/www/html/default/script/lol_score_calculate/calculate.php >>score_calcutelate.log

  2. Shell(六):输入/输出重定向

    重定向的作用是将命令的执行结果输出到指定的文件中. 重定向命令列表如下: 文件描述符 0 通常是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR). 1.输出重 ...

  3. 【python跨目录调用】结合自己遇到的问题到解决问题,作个记录

    写PO的时候,想把page和case 文件分开存不同的文件夹,但是在调用模块的时候就出现了问题.后来终于解决了,记录下 ---------------------------------------- ...

  4. 以传参的方式执行shell(模板)

    以传参的方式执行shell(模板) #!bin/bash # USE: Template # author : xiaowei # -- # state : -name 选项必选,,, -v -m 选 ...

  5. linux系统可执行文件添加环境变量使其跨终端和目录执行

    在命令行终端输入:echo $PATH 回车可打印出PATH变量对应的路径 现有一可执行文件qtFirstC,文件所在目录为:/home/lolors/qtFirstC 此时test只能在此目录下运行 ...

  6. shell脚本 在后台执行de 命令 >> 文件 2>&1 将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)

    命令 >> 文件 2>&1或命令 &>> 文件 将标准输出与错误输出共同写入到文件中(追加到原有内容的后面) # ll >>aaa 2> ...

  7. bash shell 获取当前正在执行脚本的绝对路径

    https://my.oschina.net/leejun2005/blog/150662 http://blog.csdn.net/10km/article/details/51906821 如题, ...

  8. Linux shell标准输入,标准输出,错误输出

    shell中可能经常能看到:1>/dev/null  2>&1  eg:sudo kill -9 `ps -elf |grep -v grep|grep $1|awk '{prin ...

  9. shell脚本就是由Shell命令组成的执行文件,将一些命令整合到一个文件中,进行处理业务逻辑,脚本不用编译即可运行。它通过解释器解释运行,所以速度相对来说比较慢。

    shell脚本?在说什么是shell脚本之前,先说说什么是shell. shell是外壳的意思,就是操作系统的外壳.我们可以通过shell命令来操作和控制操作系统,比如Linux中的Shell命令就包 ...

随机推荐

  1. css3 学习 重点 常用

    1 -webkit-    -moz-   -o-浏览器兼容 2 box-sizing:border-box;   两个近乎一样的div一样的样式 平分一个div  定义:属性允许您以确切的方式定义适 ...

  2. python之进程和线程3

    1 multiprocessing模块 (1.)直接导入 from multiprocessing import Process import os import time def info(name ...

  3. HTML5 学习05—— 拖放(Drag 和 Drop)

    拖放(Drag 和 drop)是 HTML5 标准的组成部分.即抓取对象以后拖到另一个位置. 例:将w3cschool图标拖动到矩形框中. <script> function allowD ...

  4. mui 从列表进入到详情,再返回,列表页还是进入列表之前的样子,而不刷新页面

    mui 从列表进入到详情,再返回,列表页还是进入列表之前的样子,而不刷新页面

  5. docker中mysql数据库的数据导入和导出

    导出数据 查看下 mysql 运行名称 docker ps 结果:  执行导出(备份)数据库命令: 由第一步的结果可知,我们的 mysql 运行在一个叫 mysql_server 的 docker ...

  6. window系统命令行设置proxy----Setting a proxy for Windows using the command-line

    设置代理, bypass-list的参数是不走代理地址: netsh winhttp set proxy proxy-server="socks=localhost:9090" b ...

  7. 解决Maven项目总是回跳到jdk1.5的情况的方法

    一.在pom.xml中加入: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins& ...

  8. webpack 配置缓存

    1.输出文件的文件名 加hash 2.提取引导模板 3.模块标识符 https://webpack.docschina.org/guides/caching/#src/components/Sideb ...

  9. kuda 了解片

    本来上个月想去了解一下kuda的,结果一直没有抽出时间去搞,现在大致先开个头,方便后面深入! Apache Kudu是开源Apache Hadoop生态系统的新成员,它完善了Hadoop的存储层,可以 ...

  10. 一行代码搞定 R 语言模型输出!(使用 stargazer 包)

    引言 使用stargazer包可以将 R 构建的模型结果以LATEX.HTML和ASCII格式输出,方便我们生成标准格式的表格.再结合rmarkdown,你就可以轻轻松松输出一篇优雅的文章啦~本文“使 ...