随笔分类 - Bash
摘要:多次碰到需要一次性给多个变量赋值的问题,经搜索发现一种比较方便的方法——命名管道命名管道介绍:http://www.linuxjournal.com/article/2156?page=0,0例子:现有字符串“a b c d”需要分别赋值给变量k1 k2 k3 k4,使用命名管道方法如下:$ mkfifo npipe$ (echo "a b c d" > npipe)&$ read k1 k2 k3 k4 < npipe此时k1 k2 k3 k4已经分别赋值成a b c d注意:不能用‘|’ 直接给read变量,因为echo "a b c d&
阅读全文
摘要:#!/bin/bashtab="\t"pipe="|"dash="--------"fmt="$pipe${dash}"lsallfile () {for i in ${1}/*do if [ -f "$i" ] then echo -e "$fmt${i##*/}" elif [ -d "$i" ] then echo -e "$fmt${i##*/}/" fmt="$pipe$tab$fmt"...
阅读全文
摘要:#!/bin/bashinc=""tab="\t"lsallfile () {for i in ${1}/*do echo -e "$inc${i##*/}" if [ -d "$i" ] then inc="$inc$tab" echo "" lsallfile "${i}" echo "" inc=${inc#"$tab"} fidone}if [ -z $1 ]then lsallfile ...
阅读全文
摘要:Table 5-3. Arithmetic test operators Test Comparison -lt Less than -le Less than or equal -eq Equal -ge Greater than or equal -gt Greater than -ne Not equal Table 5-2. File attribute operators Operato...
阅读全文
摘要:4.3.4. Extended Pattern MatchingBash provides a further set of patternmatching operators if the shoptoption extglob is switched on. Eachoperator takes one or more patterns, normally strings, separated bythe vertical bar ( | ). The extended pattern matching operatorsare given in Table 4-3.[8][8] Be a
阅读全文
摘要:Table2-6.emacs mode miscellaneous commandsCommandDescriptionCTRL-JSameas RETURNCTRL-LClearsthe screen, placing the current line at the top of the screenCTRL-MSameas RETURNCTRL-OSameas RETURN, then display next line in command historyCTRL-TTranspose two characters on either side ofpoint and move poin
阅读全文
摘要:sed 工具在了解了一些正规表示法的基础应用之后,再来呢?呵呵~两个东西可以玩一玩的,那就是 sed 跟底下会介绍的 awk 了! 这两个家伙可是相当的有用的啊!举例来说,鸟哥写的 logfile.sh 分析登录档的小程序 (第十九章会谈到),绝大部分分析关键字的取用、统计等等,就是用这两个宝贝蛋来帮我完成的!那么你说,要不要玩一玩啊?^_^我们先来谈一谈 sed 好了, sed 本身也是一个管线命令,可以分析 standard input 的啦! 而且 sed 还可以将数据进行取代、删除、新增、撷取特定行等等的功能呢!很不错吧~ 我们先来了解一下 sed 的用法,再来聊他的用途好了![roo
阅读全文
摘要:参数代换: xargsxargs 是在做什么的呢?就以字面上的意义来看, x 是加减乘除的乘号,args 则是 arguments (参数) 的意思,所以说,这个玩意儿就是在产生某个命令的参数的意思! xargs 可以读入 stdin 的数据,并且以空格符或断行字符作为分辨,将 stdin 的数据分隔成为 arguments 。 因为是以空格符作为分隔,所以,如果有一些档名或者是其他意义的名词内含有空格符的时候, xargs 可能就会误判了~他的用法其实也还满简单的!就来看一看先![root@www ~]# xargs [-0epn] command选项与参数:-0 :如果输入的 stdin
阅读全文
摘要:cutcut 不就是『切』吗?没错啦!这个命令可以将一段信息的某一段给他『切』出来~ 处理的信息是以『行』为单位喔!底下我们就来谈一谈:[root@www ~]# cut -d'分隔字符' -f fields <==用于有特定分隔字符[root@www ~]# cut -c 字符区间 <==用于排列整齐的信息选项与参数:-d :后面接分隔字符。与 -f 一起使用;-f :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;-c :以字符 (characters) 的单位取出固定字符区间;范例一:将 PATH 变量取出,我要找出第五个路径。[ro
阅读全文
摘要:#批注符号:这个最常被使用在 script 当中,视为说明!在后的数据均不运行\跳脱符号:将『特殊字符或通配符』还原成一般字符|管线 (pipe):分隔两个管线命令的界定(后两节介绍);;连续命令下达分隔符:连续性命令的界定 (注意!与管线命令并不相同)~用户的家目录$取用变量前导符:亦即是变量之前需要加的变量取代值&工作控制 (job control):将命令变成背景下工作!逻辑运算意义上的『非』 not 的意思!/目录符号:路径分隔的符号>, >>数据流重导向:输出导向,分别是『取代』与『累加』<, <<数据流重导向:输入导向 (这两个留待下节介
阅读全文
浙公网安备 33010602011771号