`
luzl
  • 浏览: 572235 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Unix Shell 的 While 循环

    博客分类:
  • Unix
阅读更多
首先解释下 unix shell 是什么?
unix shell就是unix系统的命令解释器,比如你敲个ls,它给你返回当前目录下的文件、目录列表,返回这个列表就是shell的工作。

unix shell有哪些种类?
感觉这话有点问题,应该是解释器有哪些种类?但是也可以说unix shell有哪些种类,因为解释器不一样,语法还是稍微有些差别。比较常见的解释器有:csh,ksh,bash。很多系统默认的就是bash,/usr/bin/sh 就是它。

我使用的是什么shell?
你只需要more一下 /etc/passwd,找到你的用户的哪一行,看一下就明白了。

shell怎么切换?
这个很简单,假设你现在想用ksh了,仅仅执行一下: /usr/bin/ksh 或者 /bin/ksh ,你的命令解释器就变成ksh了。那么在shell编程的时候怎么指定呢?你只需要在第一行加入#!/usr/bin/ksh 或者 #!/bin/ksh 就可以了,其它的雷同.
这里顺便说一下 /usr/bin 和 /bin的区别,/bin 会放置一些普通用户不让使用的命令,所以它的目录权限可能会更严一些, 如果没有权限使用这目录就可以用 /usr/bin 了。

现在言归正传:
bash的while loop:
语法:
while [ condition ] 
do
	command1
	command1
	commandN
done
示例:
#!/bin/bash
c=1
while [ $c -le 5 ]
do
	echo "Welcone $c times"
	(( c++ ))
done


ksh的while loop:
语法:
while [[ condition ]] ; do
	command1
	command1
	commandN
done

示例:
#!/bin/ksh
c=1
while [[ $c -le 5 ]]; do
	echo "Welcome $c times"
	(( c++ ))
done


csh的while loop:
while ( condition )
         commands
     end

#!/bin/csh
set yname="foo"
while ( $yname != "" )
	echo -n "Enter your name : "
	set yname = $<
	if ( $yname != "" ) then
		echo "Hi, $yname"
	endif
end
分享到:
评论

相关推荐

    Linux与UNIX Shell编程指南.pdf

    控制结构是Shell脚本中用于控制执行流程的语句,包括if语句、case语句、for循环、while循环等。这些语句可以根据不同的条件和逻辑来执行不同的操作。 5. 函数 函数是Shell脚本中的一种编程单元,用于封装一组相关...

    Unix Shell by Example.zip

    在Shell脚本中,控制结构如条件语句(`if`、`else`、`elif`)和循环(`for`、`while`、`until`)是必不可少的。它们允许根据特定条件执行不同的代码块,或者重复执行某段代码。此外,Shell还支持数组、变量赋值、...

    UNIX shell范例精解(第4版)

    2. 脚本编写入门:讲解如何编写简单的shell脚本,包括脚本结构、变量使用、参数传递、控制流程(比如if条件判断,for和while循环)以及函数的使用。 3. 高级shell特性:例如输入输出重定向、管道、进程替换、信号...

    Unix shell by Example

    脚本中包含了变量、条件语句(如`if`)、循环结构(如`for`和`while`)以及函数定义等编程元素。例如,你可以用`grep`命令搜索文件中的特定字符串,或者用`find`命令查找满足特定条件的文件。 在文件管理方面,书中...

    Sams Unix Shell Programming

    4. **脚本结构**:Shell脚本通常包含变量定义、条件语句(if-else)、循环结构(for、while)、函数定义等。理解这些结构是编写复杂脚本的关键。 5. **正则表达式**:在Shell编程中,正则表达式用于模式匹配和数据...

    unix shell程序设计

    控制语句如`if`、`case`、`while`和`for`允许根据条件或循环结构执行不同的命令。此外,标点符号如`;`用于分隔命令,`&`用于后台执行命令,`|`用于命令间的数据流重定向。 通过shell程序设计,用户能够将一系列的...

    unix shell 最经典的学习资料.rar

    脚本的基本结构包括变量声明、条件语句(如`if`、`else`)、循环结构(如`for`、`while`)以及函数定义。另外,Shell支持命令替换、管道、重定向等高级特性,如`&gt;`和`用于输入输出重定向,`|`用于命令链接。 在Unix...

    LINUX与UNIX SHELL编程指南(很全)

    18.7.3 用while循环从文件中读取数据 189 18.7.4 使用IFS读文件 189 18.7.5 带有测试条件的文件处理 190 18.7.6 扫描文件行来进行数目统计 191 18.7.7 每次读一对记录 193 18.7.8 忽略#字符 193 18.7.9 处理格式化...

    Unix Shell介绍

    2. **流程控制**:包括条件语句(if-else)和循环(for, while)。 3. **函数**:封装可复用的代码段。 4. **输入/输出重定向**:将输出导向文件或从文件读取输入。 5. **管道**:连接多个命令,将一个命令的输出...

    unix shell范例精解

    2. **Shell脚本结构**:讲解如何编写Shell脚本,包括变量声明、函数定义、条件语句(if-else)、循环结构(for、while)等。 3. **管道和重定向**:介绍如何使用管道(|)将命令的输出传递给另一个命令,以及如何...

    shell编程入门经典--LINUX与UNIX Shell编程指南 (中文pdf版)

    3. **流程控制**:讲解if、else、for、while等条件和循环语句的用法。 4. **函数**:如何定义和调用自定义函数,以实现代码复用。 5. **输入/输出重定向**:如何改变命令的标准输入、输出和错误输出,实现文件操作...

    UNIX SHELL编程.rar

    2. **循环结构**:`for`、`while`和`until`循环用于重复执行一段代码直到满足特定条件。 3. **函数**:定义可重用的代码块,提高代码组织性。 **SHELL特殊字符** - `$`:引用变量的值。 - `;`:命令分隔符,用于在...

    UNIX shell范例精解(第4版) -- 源代码

    - **循环结构**:`for`、`while`和`until`循环用于重复执行任务。 - **函数定义**:创建可重用的代码片段,如`function myfunc() { commands; }`。 - **命令替换与管道**:`$(command)`或``command``用于捕获命令...

    UNIX Shell 范例精解(第4版).pdf

    3. **Shell脚本编程**:深入讲解Shell脚本的编写,包括变量、条件语句(如`if-else`)、循环结构(如`for`和`while`)、函数定义和调用等。此外,还将介绍数组、命令替换、I/O重定向、错误处理和调试技巧。 4. **...

    UNIX shell范例精解(第4版)-源代码

    2. **流程控制结构**:包括条件语句(if...else)、循环(for、while)、case语句,用于根据不同的条件执行不同的操作或重复执行任务。 3. **命令别名和函数**:创建命令别名可以简化常用命令的输入,定义函数则能...

    LINUX与UNIX SHELL编程指南(PDF)

    3. **流程控制**:介绍如何使用if-else语句、case语句、for循环、while循环和until循环来实现条件判断和迭代。 4. **命令替换与管道**:讲解命令替换(command substitution)和管道(pipe)的概念,如何将一个命令...

    shell编程入门教程+shell脚本专家指南+UNIX.shell编程24小时教程.rar

    此外,还有`while`循环,它根据指定条件不断执行代码块,直到条件不满足为止。 函数在Shell编程中用于封装重复性代码,提高可读性和可维护性。定义一个函数如下: ```bash my_function() { echo "Hello from my ...

    Unix Shell Programming, Third Edition

    4. **流程控制**:掌握条件语句(`if`,`else`),循环结构(`for`,`while`),以及如何使用`case`语句来实现多分支逻辑。 5. **管道与重定向**:学习如何使用管道(`|`)将命令输出传递给另一个命令,以及如何利用...

    Mastering UNIX Shell Scripting.pdf

    - **条件判断与循环控制:** 学习如何使用if语句、case语句、for循环和while循环等控制结构。 - **函数与模块化:** 掌握如何编写可重用的函数,并了解如何将脚本组织成模块化的结构。 3. **高级话题:** - **...

Global site tag (gtag.js) - Google Analytics