注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

A small step

Judgement Must

 
 
 

日志

 
 
关于我

不要因为急着赶路,让自己的步伐杂乱。远方是既定的目标,但路上才是最重要的经历!

bash 符号使用  

2015-01-26 17:06:11|  分类: scripts编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

#!/bin/bash
#testing a multicommand while loop
var1=10
while echo $var1
    [ $var1 -ge 0 ]
do
echo "this is inside the loop"
var1=$[ $var1-1 ]
done
分析:两条测试命令,一条是 echo $var1,另一条是 [ $var1 -ge 0 ]

  
组合判断: 
  
if [ $a -ne 0 ] && [ $b -lt 3 ] || [ $c -gt 5 ] 
then 
#你在这里加其他操作 
fi 
  
  
如果不指定变量,那么read命令将数据接收到环境变量REPLY中去。
#!/bin/bash
#testing the REPLY environment variable
read -p "Enter a number:"
factorial=1
for ((count=1;count<=$REPLY;count++))
do
factorial=$[ $factorial*$count ]
done
echo "the factorial of $REPLY is $factorial"


  

  
/////////////////////// 
  
(7)保留字符及其含义

$ shell变量名的开始,如$var
| 管道,将标准输出转到下一个命令的标准输入
# 注释开始
& 在后台执行一个进程
? 匹配一个字符
* 匹配0到多个字符(与DOS不同,可在文件名中间使用,并且含.)
$- 使用set及执行时传递给shell的标志位
$! 最后一个子进程的进程号
$# 传递给shell script的参数个数
$* 传递给shell script的参数
$@ 所有参数,个别的用双引号括起来
$? 上一个命令的返回代码
$0 当前shell的名字
$n (n:1-) 位置参数
$$ 进程标识号(Process Identifier Number, PID)
>file 输出重定向
<file 输入重定向
`command` 命令替换,如 filename=`basename /usr/local/bin/tcsh`
>>file 输出重定向,append
转义符及单引号:
$echo "$HOME $PATH"
/home/hbwork /opt/kde/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:
$echo '$HOME $PATH'
$HOME $PATH
$echo \\$HOME $PATH
$HOME /opt/kde/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/hbw
ork/bin
其他:

$dir=ls
$$dir
$alias dir ls
$dir
ls > filelist
ls >> filelist
wc -l < filelist
wc -l filelist
sleep 5; echo 5 seconds reaches; ls -l
ps ax |egrep inetd
find / -name core -exec rm {} \\; &
filename=`date "+%Y%m%d"`.log

2. shell变量
变量:代表某些值的符号,如$HOME,cd命令查找$HOME,在计算机语言中可以使用变量可以
进行多种运算和控制。
Bourne Shell有如下四种变量:
.用户自定义变量
.位置变量即 shell script之参数
.预定义变量(特殊变量)
.环境变量(参考shell定制部分) 
///////////// 
old_tag=`hg tags | grep db1_V0_ | sed -n -e 1p | sed -e "s/ .*//"`
echo $old_tag
index=`expr index "$old_tag" _V0_`
echo $index
new_tag="db1_V0_"`printf "%04d" $((${old_tag:index+3}+1))`
echo $new_tag

  
db1_V0_0002
4
db1_V0_0003 
  
“.*”匹配剩余的0个或多个字符
替换所有的"s/1/2/g"
Have a nice day!!!

  评论这张
 
阅读(5)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018