Shell
liberize
这个作者很懒,什么都没留下…
展开
-
shell中(())双括号运算符
在学习使用shell的逻辑运算符”[]”使用时候,必须保证运算符与算数之间有空格。 四则运算也只能借助:let,expr等命令完成。 今天讲的双括号”(())”结构语句,就是对shell中算数及赋值运算的扩展。使用方法:语法:((表达式1,表达式2…))特点:1、在双括号结构中,所有表达式可以像c语言一样,如:a++,b--等。2、在双括号结构中,所有变量可以不加入:“$”转载 2013-04-25 22:17:14 · 902 阅读 · 0 评论 -
Some Notes
1、关于grep、sedgrep、sed 默认模式是POSIX正则表达式,所以1)不支持\d。可以传递参数-P指定使用perl正则表达式,或使用[[:digit:]]代替\d。2)使用'()'、'{m,n}'时应当加反斜线'\(\)'、'\{1,3\}',不加反斜线时表示相应字符'('')''{''}'。关于POSIX正则表达式请看这里。2、检测用户输入是否为IP地址htt原创 2013-05-07 18:50:56 · 691 阅读 · 0 评论 -
Shell 字符串分割
a='hello,world,test'1、使用awk分割字符串,取出其中一部分这可能是最容易想到的,同时也是awk最常见的应用之一。echo $a | awk -F ',' '{print $1}'awk的-F开关指定分隔符,多个分隔符应当写在[]中。2、使用IFS将字符串分割为数组要将$a分割开,可以这样:OLD_IFS="$IFS"IFS=原创 2013-05-04 14:18:16 · 1485 阅读 · 0 评论 -
shell变量扩展与字符串操作
在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都可以做字符串各种操作。 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快。 一、判断读取字符串值表达式含义${var}变量var的值, 与$var相同转载 2013-04-25 21:58:07 · 1295 阅读 · 0 评论 -
重定向标准错误输出
第5章介绍了标准输出的概念,并解释了如何重定向命令的标准输出。除了标准输出之外,命令还可以将输出发送到标准错误输出。命令将错误消息发送到标准错误输出,这样就可以避免与发送到标准输出的信息混淆在一起。与处理标准输出一样,默认情况下,shell将命令的标准错误输出发送到屏幕上。除非重定向标准输出和标准错误输出中的某一个,否则不能区分命令的输出到底是标准输出还是标准错误输出。本节讲述Bourne A转载 2013-05-07 18:47:11 · 988 阅读 · 0 评论 -
简述POSIX正则表达式
正则表达式(regular expression)是一种表示方式,在许多地方均有对此的支持,如命令grep、语言Python、工具vim等。但是这里仅讨论POSIX正则表达式,显然它与其他正则表达式(如传统的Unix正则表达式)存在稍许的差异。POSIX正则表达式分为:BRE(Basic Regular Expression)和ERE(Extended Regular Expressions)。以转载 2013-05-07 19:16:28 · 905 阅读 · 0 评论 -
shell数组
shell中的数组使用方法:$ arr=(123 34 3 5)$ echo $arr // 默认获取第一个元素> 123$ echo ${arr[1]} // 通过下标访问> 34$ echo ${arr[@]} // 访问整个数组 ,@或者* 获取整个数组> 123 34 3 5$ echo ${#arr[@]} // 获取数组的长度(最大下标) ,#获取长度 数组中是最后一转载 2013-04-25 21:39:11 · 640 阅读 · 0 评论 -
Shell生成序列
一、seq方法生成:[chengmo@centos5 shell]$ aNumList=$(seq 30);[chengmo@centos5 shell]$ echo $aNumList1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30aNumList得到是字符串,不同之处以:空转载 2013-04-27 22:42:48 · 3294 阅读 · 0 评论 -
head和tail
head: 打印文件的前10行(默认)tail: 打印文件的后10行(默认)如果你是个典型的开发或者部署人员,是不是觉得开始亲切起来。我们平时用的最多的命令$tail -f catalina.out $head实例:1. 打印head.txt, tail.txt的前10行$head head.txt tail.txt ==> he转载 2013-04-25 22:50:57 · 831 阅读 · 0 评论 -
basename与dirname
basenamebasename 去除文件名的目录部分和后缀部分。返回一个字符串参数的基本文件名称。语法:basename NAME [SUFFIX]basename OPTION用法:$ basename /home/me/desktop/test.txt输出:test.txt可以指定suffix参数:$ basename /home/me/d转载 2013-04-25 22:22:53 · 3252 阅读 · 1 评论 -
sudo的若干问题
1、'sudo echo x > file' 时 'Permission denied' sudo echo 268435456 > /proc/sys/kernel/shmmax bash: /proc/sys/kernel/shmmax: Permission denied 这时 bash 拒绝这么做,说是权限不够。这是因为重定向符号 “>” 和 “>>” 也是原创 2013-05-07 19:33:06 · 924 阅读 · 0 评论