
Shell
liberize
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
shell中(())双括号运算符
在学习使用shell的逻辑运算符”[]”使用时候,必须保证运算符与算数之间有空格。 四则运算也只能借助:let,expr等命令完成。 今天讲的双括号”(())”结构语句,就是对shell中算数及赋值运算的扩展。 使用方法: 语法: ((表达式1,表达式2…)) 特点: 1、在双括号结构中,所有表达式可以像c语言一样,如:a++,b--等。 2、在双括号结构中,所有变量可以不加入:“$”转载 2013-04-25 22:17:14 · 934 阅读 · 0 评论 -
Some Notes
1、关于grep、sed grep、sed 默认模式是POSIX正则表达式,所以 1)不支持\d。可以传递参数-P指定使用perl正则表达式,或使用[[:digit:]]代替\d。 2)使用'()'、'{m,n}'时应当加反斜线'\(\)'、'\{1,3\}',不加反斜线时表示相应字符'('')''{''}'。 关于POSIX正则表达式请看这里。 2、检测用户输入是否为IP地址 htt原创 2013-05-07 18:50:56 · 719 阅读 · 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 · 1520 阅读 · 0 评论 -
shell变量扩展与字符串操作
在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都可以做字符串各种操作。 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快。 一、判断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var相同转载 2013-04-25 21:58:07 · 1367 阅读 · 0 评论 -
重定向标准错误输出
第5章介绍了标准输出的概念,并解释了如何重定向命令的标准输出。除了标准输出之外,命令还可以将输出发送到标准错误输出。命令将错误消息发送到标准错误输出,这样就可以避免与发送到标准输出的信息混淆在一起。 与处理标准输出一样,默认情况下,shell将命令的标准错误输出发送到屏幕上。除非重定向标准输出和标准错误输出中的某一个,否则不能区分命令的输出到底是标准输出还是标准错误输出。本节讲述Bourne A转载 2013-05-07 18:47:11 · 1036 阅读 · 0 评论 -
简述POSIX正则表达式
正则表达式(regular expression)是一种表示方式,在许多地方均有对此的支持,如命令grep、语言Python、工具vim等。但是这里仅讨论POSIX正则表达式,显然它与其他正则表达式(如传统的Unix正则表达式)存在稍许的差异。POSIX正则表达式分为:BRE(Basic Regular Expression)和ERE(Extended Regular Expressions)。以转载 2013-05-07 19:16:28 · 974 阅读 · 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 · 670 阅读 · 0 评论 -
Shell生成序列
一、seq方法生成: [chengmo@centos5 shell]$ aNumList=$(seq 30); [chengmo@centos5 shell]$ echo $aNumList 1 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 30 aNumList得到是字符串,不同之处以:空转载 2013-04-27 22:42:48 · 3352 阅读 · 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 · 879 阅读 · 0 评论 -
basename与dirname
basename basename 去除文件名的目录部分和后缀部分。返回一个字符串参数的基本文件名称。 语法: basename NAME [SUFFIX] basename OPTION 用法: $ basename /home/me/desktop/test.txt 输出: test.txt 可以指定suffix参数: $ basename /home/me/d转载 2013-04-25 22:22:53 · 3308 阅读 · 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 · 962 阅读 · 0 评论