argor

   :: 首页  :: 新随笔  :: 联系 ::  :: 管理

随笔分类 -  Shell

Bash Shell 语法、程序等相关
摘要:引子: 在执行 find /opt/work/testDdir -name 'file*' 时,有可能会返回多个结果。将会返回的结果保存在变量中,需要对其做 [ -r $findResult ] 的处理时,就会报错 binary operator expected 。 Bash 提供了对一维数组(索 阅读全文
posted @ 2017-11-29 13:59 argor 阅读(190) 评论(0) 推荐(0)

摘要:1.isNumber 2.命令可用 3.当前用户是root 1.isNumber 判断“字符串”是否是个数字: declare chkNumber=0 isNumber(){ parameter1=$1 repParameter1=$(echo $parameter1 | sed 's/[[:dig 阅读全文
posted @ 2017-11-29 13:54 argor 阅读(200) 评论(0) 推荐(0)

摘要:1.字符串操作 1.1.字符串截取 核心语句“${i:0:1}”,表示从变量i获取头一个字符。 1.2.字符串长度 核心语句“${#ip}”,字符串长度,从变量中获取 1.3.字符串替换 核心语句“${ip/./-}”,仅仅替换输出。 1.4.删除子串 #开头,%收尾。这里删除的是“.”。 删除字符 阅读全文
posted @ 2017-11-29 11:01 argor 阅读(223) 评论(0) 推荐(0)

摘要:1.语法 printf打印格式字符串,解释'%'指令和'\'转义。 1.1.转义 printf使用时需要指定输出格式,输出后不换行。 printf FORMAT [ARGUMENT] printf OPTION \a :报警声 \f :换页 \n :新行 \r :回车 \t :横tab \v :竖t 阅读全文
posted @ 2017-11-28 17:35 argor 阅读(14923) 评论(0) 推荐(0)

摘要:shell中的时间值提取(date) 方法1 # date +%F # date +%T 方法2 “date +%Y%m%d%H%M%S”获取时间信息串 方法3 “date +%s”获取绝对秒数(UTC),使用“-d”参数还原时间。 生成与时间相关的文件名称 应用: 例如用命令替换的方式生成带有时间 阅读全文
posted @ 2017-11-28 17:30 argor 阅读(29629) 评论(0) 推荐(1)

摘要:1 shell脚本的参数 2 参数扩展 1.shell脚本的参数 从命令行传递给脚本的参数称为位置参数。 shell脚本中表示位置参数的系统变量 变量名说明示例 $n 1≤n≤9,表示变量的位置顺序 n≥10 echo "$1" echo "${11}" $# 命令行参数的个数 echo "$#" 阅读全文
posted @ 2017-11-28 17:20 argor 阅读(268) 评论(0) 推荐(0)

摘要:awk,逐行处理文本内容。Linux里的awk其实是“gawk”。 使用格式: awk [选项] '模式匹配 {命令 命令参数}' file1, file2, …… -f program-file --file program-file -F fs --field-separator fs -v v 阅读全文
posted @ 2017-11-28 15:27 argor 阅读(2476) 评论(0) 推荐(0)

摘要:在Linux系统中的变量,一般有两种:“环境变量”、“局部变量”。还有一种变量被称为“特殊变量”,该类变量以只读的形式存在。 shell脚本中的变量 全局变量 在脚本中定义的变量都是全局变量。包括脚本中的函数,函数中使用的变量依然在全局生效。声明变量时,使用“declare”,可以通过选项在声明的时 阅读全文
posted @ 2017-11-28 14:44 argor 阅读(960) 评论(0) 推荐(0)

摘要:1.正则表达式 1.1 基本正则表达式(RE) 匹配行首开始的年份“1983-02”、“1983-02-06_17:33:26”: “.”代表一个字符,不能省略。无法匹配下面的“file”。 在文件“re.txt”追加一行“file4 ”,末尾是个空格。 1.2 扩展正则表达式(ERE) 1.3 P 阅读全文
posted @ 2017-11-28 12:43 argor 阅读(272) 评论(0) 推荐(0)

摘要:* 括号的用法 算数运算的表示 1.expr expr 3 - 7 使用运算符时,一定要注意运算符左右两边要留有空格。shell中使用“反引号”把表达式括起来。乘法( * )运算、小括号需要使用“转义字符”。 2.$(( )) 该运算无需对运算符和小括号使用转义字符;也不需要空格。 shell re 阅读全文
posted @ 2017-11-28 12:27 argor 阅读(229) 评论(0) 推荐(0)

摘要:1.测试内容 2.测试方法 3.应用示例 在shell脚本中应用条件测试时,关键是“测试表达式”。在条件语句中测试时首先分清楚测试什么类型的信息:数字、字符串、还是一个文件,要么就是一个逻辑关系。当遇到不同的测试类型时自然就有不同的“测试属性”,理解这个测试属性是必须的。不然就不知道从何处下手。 判 阅读全文
posted @ 2017-11-28 12:20 argor 阅读(557) 评论(0) 推荐(0)

摘要:流编辑器,逐行处理文本内容。处理方式由子命令指定,在内存中完成处理,默认不修改源文件。 语法格式:sed 【-选项】 '/过滤筛选/子命令/子命令选项' 文本对象文件 选项: n 静默模式 i 修改源文件 e 多次执行命令 f 指定sed脚本文件 r 扩展正则表达式 过滤筛选: 1 处理第一行 1, 阅读全文
posted @ 2017-11-28 12:04 argor 阅读(235) 评论(0) 推荐(0)

摘要:函数定义、调用 函数库文件 编写函数库文件 载入函数库文件 * 引用函数时不小心带上括号,会报错。 函数返回值 函数返回值,由 return 指定。没有使用时,返回值是函数体最后一条命令的返回值。语法:return [n] 阅读全文
posted @ 2017-11-28 10:38 argor 阅读(196) 评论(0) 推荐(0)

摘要:1.条件选择 1.1.if 语句 语法 #!/bin/bash MATH_SCORES="$1" NAME="$2" if [ -z "${MATH_SCORES}" ] then printf "The command requires that options have a scores.\n" 阅读全文
posted @ 2017-11-28 09:46 argor 阅读(331) 评论(0) 推荐(0)