sed多条件匹配 2011-12-26 | perl/php/python/gawk/sed shell脚本学习 匹配一行中两个单词之间的内容(后续) 之前我写我一篇日志叫“匹配一行中两个单词之间的内容”,这个可以算是那个的后续吧!因为我要从https://blog.361way.com/sitemap.xml 这个地图链接里找出我的所有url地址。于是又用到了sed的正则。 首先通过,curl -G…… Continue reading
fuser命令学习 2011-12-02 | Linux/unix/mac shell脚本学习 fuser命令在linux系统中用来根据文件或文件结构识别进程。 使用权限: 超级用户 语法格式: fuser [ -c | -d | -f ] [ -k | -K { SignalNumber | SignalName }] [ -u ] [ -x ] [ -V ]File … 使用说明: 此 fuser 命令列出了本地进程的进程号,那些本地进程使用 File 参数指定的本地或远程文件。 对于阻塞特别设备,此命令列出了使用该设备上任何文…… Continue reading
vi用法大汇总 2011-11-15 | Linux/unix/mac shell脚本学习 发扬拿来主义精神,从网上看到的一篇关于vi用法的汇总,连回复都很经典,索性连回复都copy过来。 vi/vim 基本使用方法本文介绍了vi (vim)的基本使用方法,但对于普通用户来说基本上够了! vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只…… Continue reading
取消vi/vim下的黄色空格 2011-11-15 | Linux/unix/mac shell脚本学习 set nohls取消搜索的高亮关键字。 hlsearch 是高亮选择搜索的关键字。 原来我此前搜索替换了空格,所以就把所有空格染色了。 而set nohls,则以后的搜索都不会高亮所有搜索的关键字。所以空格也不会有颜色了 当然这个方面只是一次性开关,下次打开时又会出现黄色空格。如果想以后打开所有的文件里的黄色…… Continue reading
shell中变量的变量与eval命令 2011-10-30 | shell脚本学习 shell 中经常会用到变量的嵌套的情况。比如,单个或多个变量的值作为变量名,再对该变量名取$获取其内部的变量的情况,这种脚本写起来很难搞,还好有eval 命令方便我们处理这种情况。便于理解,先来一个示例: 1#!/bin/bash 2a='my' 3b='site' 4my_site='my site www.361way.com' 5echo a_b is "$a"_"$b" 6echo $("$a"_"$b") 7web="$a"_"$b" 8echo web is $web 9eval echo '$'"$a"_"$b" 10eval echo '$'{"$a"_"$b"} 比如上面这个示例,猜猜看它的运行结果是什…… Continue reading
bc显示小数点前的0 2011-10-29 | shell脚本学习 bc是强大而常用的计算工具。不过在除法运算时,如果得到的结果值小于1,得到的小数前面的0不存。本篇提供几个常用小数点前缺0的解决方法。 1[root@361way ~]# bc 2bc 1.06.95 3Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. 4This is free software with ABSOLUTELY NO WARRANTY. 5For details type `warranty'. 6scale=2; 1/3 7.33 打开bc进入交互模式,我们键入scale=2; 1/3 回车,看到结果0.33前的0没有--…… Continue reading
shell中$(( ))、$( )、“与${ }的区别 2011-10-26 | shell脚本学习 命令替换 在bash中,$( )与 (反引号)都是用来作命令替换的。 命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行。 exp 1 1[root@localhost ~]# echo today is $(date "+%Y-%m-%d") 2today is 2017-11-07 3[root@localhost ~]# echo today is `date "+%Y-%m-%d"` 4today is 2017-11-07 $( )与`` 在操作上,这两者都是达到相应的效果,但是建议使用$(…… Continue reading
cat EOF追加与覆盖 2011-10-25 | shell脚本学习 当需要将多行文件输入到文本时,如果每条都使用echo 到文件时是比较繁琐的,这种情况下可以使用cat EOF进行多行文件的覆盖或追加输入。 一、覆盖 这里有两种格式可以使用 1、格式一 1#!/bin/bash 2cat << EOF > /root/test.txt 3Hello! 4My site is www.361way.com 5Test for cat and EOF! 6EOF 2、格式二 1#!/bin/bash 2cat > /root/test.txt <<EOF 3Hello! 4My site is www.361way.com 5Test for cat and EOF! 6EOF 两种写法区别无法是要写入的文件…… Continue reading
Shell特殊变量:$0, $#, $*, $@, $?, $$和命令行参数 2011-10-22 | shell脚本学习 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。 $# 传递给脚本或函数的参数个数。 $* 传递给脚本或函数的所有参数。 $@ 传递给脚本或函数的所有参数。被双引号(” “)包含时,与 $* 稍有不同,下面将会讲到。 $?…… Continue reading
shell中参数的传递 2011-10-21 | Linux/unix/mac shell脚本学习 1、命令行参数 向shell脚本传递数据的最基本方式是使用命令行参数。 (1) 读取参数 读取输入的参数的变量为位置参数,位置参数通过标准数字表示,其中**$0为程序名称**,$1为第一个参数,$2为第二个参数,依次类推,直到$9为第九个参数。shell脚本自动将命令行参数赋值给各个位置…… Continue reading