shell小结(while)

#!/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

时间: 2024-11-05 14:39:20

shell小结(while)的相关文章

shell小结

一 判断 -d 测试是否为目录. -e 测试文件或目录是否存在. -f 判断是否为文件. -r 测试当前用户是否有权限读取. -w 测试当前用户是否有权限写入. -x 测试当前用户是否有权限执行. 语法: [ -d /etc/fstab ] 且 或 非 && 逻辑的与,"而且"的意思. || 逻辑的或,"或者"的意思. ! 逻辑的否 [ $USER != root ] && echo "user" [ $USER

Shell 三三两两(1)

在Shell脚本中或多或少遇到$1-$9 , $0 , $? , $! , $$ , $*, $# , [email protected] 这些特殊意义的命令符.如果你是一位初学者,那么恭喜你看它就像看老道写的符箓,有点摸不着边?是要死记硬背?还是理解一下再记忆呢?我想还是理解一下再记吧! 简要说明一下: 一.与参数相关: $1-$9 , $0 ,$# ,  $*, [email protected] 1)$1-$9   表给Shell的第几个参数: 在计算机语言编写一段代码总会涉及到什么形参.

小鸟初学Shell编程(六)变量赋值

变量的意义 我们在使用Linux命令或脚本的时候,会有一些输出,那么这些输出的信息可以用变量临时存储,以备我们下一条命令或脚本使用. 变量的定义 变量的定义建议用一个有意义的英文单词来代表变量,不要使用简单的字母a,b 这类的变量名定义.因为我们写好Shell脚本实际上是要给人看的,所以我们定义好的变量,是希望变量有具体的含义,能让阅读Shell脚本人能轻松的明白. 变量的命名规则: 字母.数字.下划线 不以数字开头 变量的赋值 为变量赋值的过程,称为变量替换 Shell脚本里变量是不区分变量类

主板硬件性能测试

项目需要使用的主板有很多性能需要经过测试之后才能用于开发使用,因此将Linux上一些常用的tools移植进板子进行测试. 主要有 : CPU.DDR.NAND FLASH.SATA.网络. 最后顺便记录一下写bash shell脚本遇到的小问题. 01. CPU 查看CPU用如下命令(多少个核,频率,特性等): cat /proc/cpuinfo 查看内存用如下命令:(只有当前内存大小,已用空间等等,不能看到内存频率) cat /proc/meminfo 1.1  memtester 可以捕获内

[Shell&amp;Mac&amp;Environment variables]自己常用的Mac(或者说Linux)Shell命令小结,含Mac使用zsh shell的环境变量的有关配置方法

今天在使用tomcat的配置的时候,我用的mac,要是用到一些命令去配置tomcat. 问题来了: 我每次要去启动tomcat服务特别麻烦,因为我要先进入tomcat所在的文件目录,或者不进入使用~/,但是因为我把tomcat放到了一个比较“深“的文件夹里,所以命令显得又丑又长. 问题解决方案: 1.使用环境变量(修改.bashrc的方法) a.先查看自己的Mac目前正在用的是什么shell echo $SHELL 返回结果类似如下图 这里我是zsh,,也许你是bash,不过没关系,配置环境变量

shell学习小结

小结 本章我么介绍了怎样使用ls与stat露出文件与文件meta数据,还有怎样使用touch设置未见时间戳.touch可显示有关日期时间相关的信息以及在很多现行系统上的范围限制. 说明了怎样以shell的进程ID变量$$,搭配mktemp工具并手动取出随机数据流样本,建立位移的暂时性文件名,计算机的世界能够说是一个充满敌意的环境,所以可能通过此方式给予暂时性文件具有唯一性与唯一訪问性,让你的成虚能够免于遭受工具. locate与slocate命令可用于定期更新的数据库(是经由完整地扫描文件搜构建

vim中执行shell命令小结

vim中执行shell命令,有以下几种形式 1):!command 不退出vim,并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容 例如 :!ls -l 特别的可以运行:!bash来启动一个bash shell并执行命令,不需要退出vim 2):r !command 将shell命令command的结果插入到当前行的下一行 例如 :r !date,读取系统时间并插入到当前行的下一行. 3):起始行号,结束行号 !command 将起始行号和结束行

shell 字符串操作小结

shell 字符串操作小结 #!/bin/bash ############################################   演示bash中操作字符串的操作##   后面是输出结果########################################### str="abc123abcABC"#    |-|#    |-------| #计算字符串的长度 echo ${#str}    #12 #位置参数有关操作echo ${#*}      #位置参数

Linux常用shell命令(学习小结)

1. man 对你熟悉或不熟悉的命令提供帮助解释 eg:man ls 就可以查看ls相关的用法 注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行. 2. ls 查看目录或者文件的属性,列举出任一目录下面的文件 eg: ls /usr/man ls -l a.d表示目录(directory),如果是一个"-"表示是文件,如果是l则表示是一个连接文件(link) b.表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x). 3. cp 拷贝文