shell常用代码积累
1、使用getopts从命令行接收参数
例:
while getopts h:u:p: OPTION
do
case $OPTION in
h) echo "主机地址:$OPTARG";;
u) echo "用户名:$OPTARG";;
p) echo "密码:$OPTARG";;
\?) echo "无效的选项";;
esac
done
getopts的选项后可以有冒号也可以没有,有冒号的选项表示在输入时选项后有值,值存在变量$OPTARG中,没有冒号表示不跟值。
2、获取某段时间内的月份列表
startdate=$1
enddate=$2
datecode=$startdate
i=0
until [ "$datecode" -ge "$enddate" ]
do
datecode=$(date -d "$startdate01 $i month" +%Y%m)
i=$((i+1))
echo $datecode
Done
执行时通过命令行输入起始时间和结束时间,即可输出这段时间内的月份列表。若想罗列出每一天,则只需将month改成day,将%Y%m该成%Y%m%d
3、获取字符串长度
myvar="jsldjfoupsdfplsjdlf"
echo ${#myvar}
只需要在变量名前面加上#即可。
4、三种获取本地ip的方法
第一种方法:ifconfig|grep inet |awk '{print $2}'|sed '2d'|awk -F : '{print $2}'
第二种方法:ifconfig|grep inet|sed -n '1p' |awk '{print $2}'|awk -F : '{print $2}'
第三种方法:ifconfig|grep "inet addr"|grep -v "127.0.0"|awk -F":" '{print $2}'|awk '{print $1}'|head -1
5、字符串转换成时间戳
date -d "${startTimeIndex} 00:00:00" +%s,若变量为8位数字字符则转换成功,否则转换失败,通常用此来判断输入的时间变量格式是否正确。
6、按行读取文件
While read Line;do
对行数据的一些操作
done< ${filename}
7、判断数据库是否连接成功
只需要连接数据库然后执行一条数据库操作命令,看能否执行成功即可。
mysql -h -u -P -p -e "select 100"
rtnCode=$?
$?表示命令的执行结果,0表示没有错误,其他任何值表示有错误,所以这里只需要判断rtnCode是否等于0
shell常用代码积累的更多相关文章
- shell常用代码
grep -lr 'hello' /usr/share/* #在/usr/share目录下查找包含hello的字符串 NOW_DATE=`date "+%Y%m%d%H%M%S"` ...
- JS date常用代码积累
Date.prototype.Format = function(fmt) { var o = { "M+" : this.getMonth()+1, //月份 "d+& ...
- C# 个人常用代码积累
/// <summary> /// TextBox限制只能输入十六进制,且只能输入6个 /// </summary> /// <param name="send ...
- python常用代码积累
一.文件操作 1.判断一个目录是否存在,若不存在则创建 if not os.path.isdir(new_path): os.makedirs(new_path) 2.新建一个文件 f=open(&q ...
- shell常用操作积累
1. 拼接字符串* #!/bin/sh write_log(){ local up_name=$ local num=${#string} ]; do up_name="$up_name*& ...
- 【shell 大系】Linux Shell常用技巧
在最近的日常工作中由于经常会和Linux服务器打交道,如Oracle性能优化.我们数据采集服务器的资源利用率监控,以及Debug服务器代码并解决其效率和稳定性等问题.因此这段时间总结的有关Linux ...
- [转帖]拿小本本记下的Linux Shell常用技巧(一)
拿小本本记下的Linux Shell常用技巧(一) https://zhuanlan.zhihu.com/p/73361101 一. 特殊文件: /dev/null和/dev/tty Linux系统提 ...
- 【转载】GitHub 标星 1.2w+,超全 Python 常用代码合集,值得收藏!
本文转自逆袭的二胖,作者二胖 今天给大家介绍一个由一个国外小哥用好几年时间维护的 Python 代码合集.简单来说就是,这个程序员小哥在几年前开始保存自己写过的 Python 代码,同时把一些自己比较 ...
- Linux系统重要快捷键& Shell 常用通配符
[Tab]:使用Tab键来进行命令补全: [Ctrl+c]:强行终止当前程序: [Ctrl+d]:键盘输入结束或退出终端: [Ctrl+s]:暂定当前程序,暂停后按下任意键恢复运行: [Ctrl+z] ...
随机推荐
- javascript实现继承的方式
this this表示当前对象,如果在全局作用范围内使用this,则指代当前页面对象window: 如果在函数中使用this,则this指代什么是根据运行时此函数在什么对象上被调用. 我们还可以使用a ...
- BZOJ 1014: [JSOI2008]火星人prefix Splay+二分
1014: [JSOI2008]火星人prefix 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=1014 Description 火星人 ...
- jq获取表单值与赋值代码
jq获取表单值与赋值代码 jq获取表单值与赋值代码 $("#keyword")[0].value = ""; /*获得TEXT.AREATEXT的值*/ var ...
- zookeeper集群安装配置
http://www.firefoxbug.net/?p=2565
- 关于JS的一点summary
AJAX Application AJAX--->XML.HTML.JavaScript.JSON.Text.JSONP等数据. 同时代码即业务. code--->Business log ...
- 一道模板元编程题源码解答(replace_type)
今天有一同学在群上聊到一个比较好玩的题目(本人看书不多,后面才知是<C++模板元编程>第二章里面的一道习题), 我也抱着试一试的态度去完成它, 这道题也体现了c++模板元编程的基础和精髓: ...
- Javascript实现鼠标框选元素后拖拽被框选的元素
之前需要做一个框选元素后拖拽被框选中的元素功能,在网上找资料做了一些修改,基本达到了需要的效果,希望对也需要实现框选后拖拽元素功能的人有用. 页面加载后效果 框选后的内容可以拖拽,如下图: 代码下载
- 进程控制之exec函数
用fork函数创建子进程后,子进程往往要调用一种exec函数以执行另一个程序.当进程调用一种exec函数时,该进程执行的程序完全替换为新程序,而新程序则从其main函数开始执行.因为调用exec并不创 ...
- c#如何在win7下设置IE代理的完美解决方案
有人还发现:在window7下, 在一个进程中, 设置和取消不能都执行,---- 要么设置,要么取消. 但如果第一次运行时,只进行设置代理,退出后再进运行,只进行取消,这是没有问题的. 简单说说中医 ...
- B. Pasha and String
time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...