码迷,mamicode.com
首页 > 系统相关 > 详细

shell小结(while)

时间:2015-04-13 09:35:22      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

#!/bin/bash
while IFS=: read name1 name2 name3 name4
#IFS是从文件读取内容时指定的分割符号,将a中的内容以:分开的部分分别赋值给相应变量.
 do
 echo $name1 '|' $name2 '|' $name3 '|' $name4
 done <a

#反引号与$()的功能是命令替换,将反引号或$()中的字符串当作命令来执行,但是反引号中不能继续有反引号,而$()可以有。
LS=`ls`
echo $LS
#单引号完全不解析命令,忽略所有特殊字符串,照字符串原样输出.
LS='ls'
echo $LS
#双引号作用与单引号相似,区别在于它没有那么严格,在双引号中有3个特殊字符不能被忽略:$,\,`,即单引号会解释字符串的特殊意思,而单引号直接使用。
LS="ls"
echo $LS
#不过如果使用eval命令,会让双引号中的命令得到解释。
LS="ls"
eval "$LS"

set -- 1 2 3 4 
#设置参数,与c的main中的2个参数一样。

while [ $# -gt 0 ]
# $#代表参数总数
do
	echo $1 #输出第一个参数
	shift 1 #将参数个数减1,并且都向1移动一位,也可以设置2,一次移动2位,相当与i--,i是参数总个数。
done

#-gt大于
#-lt小于
#-ge大于等于
#-le小于等于
#-eq等于
#-ne不等于

#在脚本里面可以用$1,$2...来接受参数,但是还有另外一种方式可以接受参数,那就是getopts。
while getopts abc opt 
#./main.sh -a -b -c 就可以指定参数然后执行相关命令
do
	case $opt in
		a)
		echo "abcd"
		;;
	  b)
		echo "1234"
		;;
		c)
		echo "ABCD"
		;;
		*)
		echo "****"
		;;
	esac
done

		


shell小结(while)

标签:

原文地址:http://blog.csdn.net/liuhuiyan_2014/article/details/45015755

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!