Shell
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
@SmartSi
Stay Hungry, Stay Foolish
展开
-
[Shell]数组与关联数组
1.数组1.1. 数组定义一对圆括号表示数组,数组元素之间用空格符号分割xiaosi@Qunar:~$ a=(1 2 3)xiaosi@Qunar:~$ echo $a1xiaosi@Qunar:~$ a=("yoona" "lucy" "tom")xiaosi@Qunar:~$ echo $ayoona1.2. 数组长度,元素,赋值与删除长度:用${#数组原创 2016-05-28 19:21:05 · 8817 阅读 · 1 评论 -
[Shell]tr命令使用指南
1. 用途tr,translate的简写,主要用于压缩重复字符,删除文件中的控制字符以及进行字符转换操作。2. 语法tr [OPTION]... SET1 [SET2]3. 参数3.1 -s 压缩重复字符-s: squeeze-repeats,用SET1指定的字符来替换对应的重复字符 (replace each input sequence of a repeated character that原创 2017-06-16 14:20:32 · 1158 阅读 · 0 评论 -
[Shell]test命令使用指南
Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。1. 数值参数说明-eq等于则为真-ne不等于则为真-gt大于则为真-ge大于等于则为真-lt小于则为真-le小于等于则为真Example:num1=100num2=100if test $[num1] -eq $[num2]then echo '两个数相等'else echo原创 2017-06-16 14:14:33 · 1055 阅读 · 1 评论 -
[Shell]特殊变量$0$#$*$@$?和命令行参数
1. 参数变量特殊变量列表变量含义$0当前脚本的文件名$n传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。$#传递给脚本或函数的参数个数。$*传递给脚本或函数的所有参数。$@传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到。$?上个命令的退出状态,或函数的返回值。$$当前Shell进程ID。对于 Shell 脚原创 2017-06-15 20:36:15 · 1380 阅读 · 0 评论 -
[Shell]命令行选项解析
1.概述getopts从符合标准POSIX.2选项语法的参数列表中获取选项及其参数(也就是,单个字母前面带有 - ,可能后跟参数值;单个字母可以分组)。通常,shell脚本使用getopts来解析传递给它们的参数。 当在getopts命令行中指定参数时,getopts将解析这些参数,而不是解析脚本命令行。Example:sh test.sh -d 20170120 -p ios -kgetopts翻译 2017-01-22 13:35:24 · 3041 阅读 · 0 评论 -
[Shell]awk内置函数介绍
这里详细介绍awk内置函数,主要分以下3种类似:算数函数、字符串函数、时间函数、其它一般函数1. 算术函数函数名说明atan2( y, x )返回 y/x 的反正切。cos( x )返回 x 的余弦;x 是弧度。sin( x )返回 x 的正弦;x 是弧度。exp( x )返回 x 幂函数。log( x )返回 x 的自然对数。sqrt( x )返回 x 平方根。int( x )返回 x 的截断至转载 2016-11-10 20:10:22 · 2862 阅读 · 0 评论 -
[Shell]date获取指定日期的后几天
1. 第一种方式先把日期转换为秒数,对这个秒数进行加减操作(加上或者减去几天的秒数),在转换为日期#! /bin/shfunction nextDayOfDay2 { start=$1 days=$2 # 日期转换为秒数 seconds=`date -d $1 +%s` echo "日期秒数 -----> "${seconds} de原创 2016-06-15 20:59:23 · 4458 阅读 · 1 评论 -
[Shell]获取当前正在执行脚本的绝对路径
1. pwd命令我们看看使用pwd命令能否获取当前正在执行脚本的绝对路径。该命令的作用是“print name of current/working directory”,真实含义是当前工作目录,并不是正在执行脚本的目录。xiaosi@Qunar:~/company/sh$ cat pwd.shecho `pwd`xiaosi@Qunar:~/company/sh$ sh pwd转载 2016-06-15 19:55:26 · 49827 阅读 · 3 评论 -
[Shell]comm 交集 差集
1. 简介comm命令可以用于两个文件之间的比较,它有一些选项可以用来调整输出,以便执行交集、求差、以及差集操作。 交集:打印出两个文件所共有的行。 求差:打印出指定文件所包含的且不相同的行。 差集:打印出包含在一个文件中,但不包含在其他指定文件中的行。2. 语法comm (选项) (参数)3. 选项-原创 2016-06-08 17:25:51 · 6323 阅读 · 0 评论 -
[Shell学习笔记]字符串操作
1. 判断读取字符串值表达式含义${var}获取变量var的值(与$var相同)${var-DEFAULT}如果var没有声明,则以$DEFAULT作为其值${var:-DEFAULT}如果var没有声明或者为空值,则以$DEFAULT作为其值${var=DEFAULT}原创 2016-05-31 21:30:53 · 864 阅读 · 0 评论 -
[Shell]bash的良好编码实践
最好的bash脚本不仅可以工作,而且以易于理解和修改的方式编写。很多好的编码实践都是来自使用一致的变量名称和一致的编码风格。验证用户提供的参数是否正确,并检查命令是否能成功运行,以及长时间运行是否能保持可用性。下面分享一下我的工作技巧。1. 使用良好的缩进使用良好的缩进能使代码可读性更好,从而能更好的维护。当你有三级以上的逻辑时,缩进能使我们轻松的查看脚本的整体逻辑。使用多少个空格缩进并不重要,尽翻译 2017-08-02 15:51:24 · 1378 阅读 · 0 评论