1.使用awk分割文本
awk '{split ($0,b," ");print b[1]}'
split 为awk的分割函数,上文以空格符分割$0,存入b数组,打印b[1]中的内容
其中 b数组从1开始(注意不是从0开始)
参考:http://www.cnblogs.com/chengmo/archive/2010/10/11/1847772.html
[popexizhi:这里还有其他的awk的几个基本函数,但是没有详细读]
2.从目录读取最后一个更新文件设置到变量
【way 一:war_name=`ls -rlt $path|tail -n 1 | awk '{split ($0,b," ");print b[9]}' ' 】
[popexizhi:
a.使用中一定要注意``,'' ,{} 的区别和配对问题
b.split($0,b,"[0-9]"),为使用数字分割,这里的正则使用元字符可能有点差异,用的时候[go]吧!]
【way二:war_name=`ls -t /data/work/quickbuild/builds/CRM/wars-test/ |tail -1`】
[popexizhi:昆哥的方法,谢谢:)]
【way三:war_name=`ls -lrt /data/work/quickbuild/builds/CRM/wars-test/|tail -n 1|awk 'BEGIN{FS=" "}{print $9}'`】
[popexizhi: 使用awk -F 的方式分割,这个中参数不少,回头详细test一下去吧!]
总体思路是一样的从ls中取最后更新文件,分离出文件名称
3.bash -x ./file.sh
调试shell脚本
[popexizhi:很有用的调试信息]
4.curl 上传文件
上载一个文件:
curl –u name:passwd -T size.mp3 ftp://www.quany.info/mp3/
来源:http://www.quany.info/softwares/ftp-with-curl-wget.html
[popexizhi:这个有个奇怪的提示要上传的文件size.mp3如果不存在,提示为“curl can't open file”,而不是不存在的提示,这个注意一下吧!]
5.`` ,'',""的区别
来源:http://haohetao.iteye.com/blog/1126560
单引号:当shell碰到第一个单引号时,它忽略掉其后直到右引号的所有特殊字符
双引号:双引号中的三种特殊字符 不被忽略:$,\,` ,即双引号会解释字符串的特别意思,而单引号直接使用字符串.如果使用双引号将字符串赋给变量并反馈它,实际上与直接反馈变量并无差别。如果要查询包含空 格的字符串,经常会用到双引号。
反引号(``):命令替换是指shell能够将一个命令的标准输出插在一个命令行中任何位置。shell中有两种方法作命令替换:把shell命令用反引号或者$(...)结构括起来,其中,$(...)格式受到POSIX标准支持,也利于嵌套。
# echo The date and time is `date`
The date and time is 三 6月 15 06:10:35 CST 2005
# echo Your current working directory is $(pwd)
Your current working directory is /home/howard/script.
[popexizhi:··这个叫反引号,就是键盘左上角的~下没有shift下打印出来的那个,好吧!刚刚知道,]
6. ls -t 按时间顺序显示文件内容
7.head 从头开始截取与tail是一对啊!:)
8.trl "[0-9]" "xxx"
替换全部数字为“xxx”
9.\r 与\n的区别
\r 是回车:此行的行首位置
\n是换行:换行后是下一行的当前列的位置
\n\r是先换行到下一行,再到行首;
\r\n是先到此行行首在换行到下一行
1.指定目录解压:unzip
unzip -f 要解压的文件 -d 解压到的目录
其中-f是强制覆盖,jar,rm,cp中通用的强制执行,不询问是否覆盖
2.拷贝时强制覆盖要使用\cp -rf ,如果使用cp -f 还有可能询问是否覆盖
来源:http://itpx.eol.cn/shiti_jc_2251/20100525/t20100525_478276.shtml
"当我们执行cp命令的时候,系统往往执行的是cp -i,-i 选项表示有交互的提示信息,所以执行 cp -f 的时候,系统实际执行的是 cp -i -f, 所以仍然会有覆盖提示。
想要执行原始的cp也很简单,可以在调用cp的时候加入绝对路径,当然还可以直接执行下面的语句:
\cp -f file dir
"
------------------------------------------------------
[?]
-
tomcat stop 使用 shutdown.sh执行后再次打印tomcat进程还可以看到被停的内容但在shell中手动查看就看不到了,why?停止操作没有执行完成吗?
设置变量时在字符未总是有\r,每次都多加一个进去,赋值操作,echo操作都会有,why?
-
html tool
2013年4月7日星期日
quickbulid use 脚本总结
订阅:
博文评论 (Atom)
没有评论:
发表评论