摘要: 1、多行变成单行-bash-3.2#cattest.txtabcdefgopq-bash-3.2#cattest.txt|xargsabcdefgopq2、单行变成多行-bash-3.2#cattest.txtabcdefgopq-bash-3.2#cattest.txt|xargs-n2abcdefgopq3、删除某个重复的字符来做定界符-bash-3.2#cattest.txtAaaagttttgyyyygcccc-bash-3.2#cattest.txt|xargs-dgaaaattttyyyycccc4、删除某个重复的字符来做定界符后,变成多行-bash-3.2#cattest.txt 阅读全文
posted @ 2013-09-09 09:40 gxcherie 阅读(14052) 评论(0) 推荐(0) 编辑
摘要: 一、变量1、linux大小写敏感,变量取名要注意大小写。可以通过变量名前面加$来访问变量的内容。可以通过使用read命令来将用户输入的值赋给一个变量。2、给变量赋值时,如果字符串中包含空格,就必须用引号把他们引起了,还要注意在等号两边不能有空格。3、变量在双引号中会用变量值替换,而在单引号中就不会替换,也可以通过转义字符\来取消$的特殊含义。例:myvar=“Hithere!”echo$myvarecho"$myvar"echo'$myvar'echo\$myvar将会输出如下:Hithere!Hithere!$myvar$myvar4、环境变量:环境变量通 阅读全文
posted @ 2013-09-09 09:36 gxcherie 阅读(8475) 评论(0) 推荐(1) 编辑
摘要: 1、使用getopts从命令行接收参数例:whilegetoptsh:u:p:OPTIONdocase$OPTIONinh)echo"主机地址:$OPTARG";;u)echo"用户名:$OPTARG";;p)echo"密码:$OPTARG";;\?)echo"无效的选项";;esacdonegetopts的选项后可以有冒号也可以没有,有冒号的选项表示在输入时选项后有值,值存在变量$OPTARG中,没有冒号表示不跟值。2、获取某段时间内的月份列表startdate=$1enddate=$2datecode=$sta 阅读全文
posted @ 2013-09-09 09:35 gxcherie 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 文本终端的颜色可以使用“ANSI非常规字符序列”来生成。举例:echo-e"\033[44;37;5mME\033[0mCOOL"以上命令设置背景成为蓝色,前景白色,闪烁光标,输出字符“ME”,然后重新设置屏幕到缺省设置,输出字符“COOL”。“e”是命令echo的一个可选项,它用于激活特殊字符的解析器。“\033”引导非常规字符序列。“m”意味着设置属性然后结束非常规字符序列,这个例子里真正有效的字符是“44;37;5”和“0”。修改“44;37;5”可以生成不同颜色的组合,数值和编码的前后顺序没有关系。可以选择的编码如下所示:编码颜色/动作0重新设置属性到缺省设置1设置 阅读全文
posted @ 2013-09-09 09:33 gxcherie 阅读(857) 评论(0) 推荐(0) 编辑
摘要: 在一些Shell脚本中,特别是Crontab的脚本中,经常会看到>/dev/null2>&1这样的写法。其实这个很好理解。我们分两部分解释。1. >/dev/null大家知“>”(右尖括号)在unix/linuxshell中表示输入到的意思,就是把”>”左边的内容输入到”>”右边。比如:echotext>1.txt就把“text”这个文本输入到1.txt这个文件中。那么“/dev/null”又是个什么东东呢?它代表一个空设备,即不存在的设备。也就是说,抛弃”>”左边的内容,不进行输出。2. 2>&1这个其实是三个部分组成的: 阅读全文
posted @ 2013-09-09 09:30 gxcherie 阅读(7031) 评论(0) 推荐(2) 编辑
摘要: 在匹配字符串时用了类似这样的语句if[$timeofday="yes"];thenecho"Goodmorning"exit0报错的原因是:如果变量timeofday的值为空,那么就if语句就变成了if[="yes"],这不是一个合法的条件。为了避免出现这种情况,我们必须给变量加上引号if["$timeofdat"="yes"],这样即使是空变量也提供了合法的测试条件,,if[""="yes"] 阅读全文
posted @ 2013-07-19 12:07 gxcherie 阅读(45408) 评论(0) 推荐(3) 编辑
摘要: 有时候shell在运行的时候可能会报toomanyarguments错误,出现这种错误的一般情况是出现了多值问题,也就是一个变量可能有多个值了。例:#!/bin/shecho"Isitmorning?Pleaseansweryesorno"readtimeofdayif[$timeofday="yes"];thenecho"Goodmorning"elif[$timeofday="no"];thenecho"Goodafternoon"elseecho"Sorry,$timeofday 阅读全文
posted @ 2013-07-19 12:06 gxcherie 阅读(4662) 评论(0) 推荐(0) 编辑
摘要: cygwin下面写shell,运行出错:syntax error near unexpected token `$’do\r”MicrosoftInternetExplorer402DocumentNotSpecified7.8Web0写shell,运行出错:syntaxerrornearunexpectedtoken`$’do\r”【问题】在cygwin下,用notepad++写了个简单的shell脚本,内容如下:12345678910111213#!/bin/bash#remove*.bakinsubfolderfilesecho'remove*.bak'sub_folde 阅读全文
posted @ 2013-07-19 12:04 gxcherie 阅读(36609) 评论(1) 推荐(1) 编辑
摘要: 出现badinterpreter:Nosuchfileordirectory的原因是文件格式的问题。这个文件是在Windows下编写的。换行的方式与Unix不一样,但是在VI下面如果不Set一下又完全看不出来。解决方法:1、上传到linux主机运行chmod+xback./back错误提示如下:bash:./back:badinterpreter:Nosuchfileordirectory2、错误分析:因为操作系统是windows,在windows下编辑的脚本,所以有可能有不可见字符。从你的脚本及报告的错误看来,很有可能是你的脚本文件是DOS格式的,即每一行的行尾以\r\n来标识,其ASCII 阅读全文
posted @ 2013-07-19 12:01 gxcherie 阅读(729) 评论(0) 推荐(0) 编辑
摘要: 1.文件管理Øtouch新建文件。例:touchtest.txt新建一个test.txt文件。Øcp复制文件。例:cp./user_one/test_one./user_two/test_two,将user_one目录下的test_one文件复制到user_two目录下面,并且命名为test_two。加参数-i会在有重名是询问是否要覆盖。Ømv文件或目录改名,或者用于将一个文件由一个目录移动到另外一个目录。例:mv./user_one/test_one./user_two,将user_one下面的test_one文件移动到user_two下面。Ørm文件 阅读全文
posted @ 2013-07-19 11:59 gxcherie 阅读(387) 评论(0) 推荐(0) 编辑