`
thisisvoa
  • 浏览: 63490 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

(三)语法:变量的声明学习shell

阅读更多

1.1.变量和值之间不能有空格,否则解释器会认为是几个命令。很多程序员的习惯是在=号两边留空格为了好看,但这点在shell中行不通。

变量和值之间不能有空格

a=3

b=4

而不是,a= 4 ,b = 5

2.字符串不必用"号或者',上面的几种赋值方式是等价的。除非字符串之间有空格的时候。

如:

var="Hello World"

这时候就需要用引号。

3.

var=

这样的语句也是合法的,表示var的值为空

4.但与php不同的是变量赋值的时候不用加$符号。因为shell中没有==这个符号,判断相等也是用=号。如果赋值的时候加上$号,会产生混淆。

还有一点要注意的就是单引号(')字符串 中的变量不会被替换。

var=World

var2='$var World'

echo $var2

上面的语句输出结果:$var World

这个可以用来输出$等特殊符号,而不用担心字符被当作变量替换。

5.if语句

if语句

if [ condition ]

then

action

elif [ condition2 ]

then

action2

.

.

.

elif [ condition3 ]

then

else

actionx

fi

for循环

var="one two three four"

for x in $var

do

echo $x

done

for循环用do 和 done表示开始结束,不要举一反三,认为是用 rof结束。

4.while和util循环

while [ condition ]

do

statements

done

until [ condition ]

do

statements

done

5.条件语句

shell中的条件语句用[]号括起来,用于if,while,until等结构。

条件判断用=号,而不是==号。条件语句与[] 号之间要有空格分开。

如:

gender="boy"

if [ "$gender" = "girl" ]

then

echo 'Welcome!'

else

echo 'We only welcome girl.'

fi

6还有要注意的是条件语句中=号两旁要有空格分开,否则shell会将条件语句整个作为一个字符串处理,条件永远为真。条件语句中的变量最好用"号引起来,否则如果该变量中有空格,shell就会报too many arguments错误。如果变量正好为空,则会报 =: unary operator expected.错误。因为变量为空的话,条件语句少了一边,当然会出错。所以,将字符串变量用双引号括起来是shell编程的好习惯,尤其在条件语句中。

其他的比较符号,如 >,<,不能直接在条件语句中使用,因为>号在shell中有特殊含义。下面是shell的比较运算符号表示方法:

算术比较运算符

num1-eq num2 等于 [ 3 -eq $mynum ]

num1-ne num2 不等于 [ 3 -ne $mynum ]

num1-lt num2 小于 [ 3 -lt $mynum ]

num1-le num2 小于或等于 [ 3 -le $mynum ]

num1-gt num2 大于 [ 3 -gt $mynum ]

num1-ge num2 大于或等于 [ 3 -ge $mynum ]

字符串比较运算符

-z string 如果 string长度为零,则为真 [ -z "$myvar" ]

-n string 如果 string长度非零,则为真 [ -n "$myvar" ]

string1= string2 如果 string1与 string2相同,则为真 [ "$myvar" = "one two three" ]

string1!= string2 如果 string1与 string2不同,则为真 [ "$myvar" != "one two three" ]

7.

case 语句

gender="boy"

case "$gender" in

boy)

echo "We only welcome girl."

;;

girl)

echo 'Welcome !'

;;

*)

echo "unknow."

;;

esac

case语句的语法比较怪,乍一看比较别扭。每个pattern用 半括号括起来,用;;结束。

分享到:
评论

相关推荐

    shell编程 创建shell脚本 shell 基础语法 shell流程控制语法 shell函数

    下面将详细介绍创建 Shell 脚本、Shell 基础语法、流程控制语法以及如何定义和使用 Shell 函数。 首先,让我们理解一下 Shell 编程的基础。Shell 是操作系统提供的一种命令解释器,用户通过 Shell 与操作系统进行...

    Korn Shell.doc (kshel语法、变量和内置命令简介)

    ### Korn Shell (ksh) 语法、变量和内置命令详解 #### 一、Korn Shell 简介 Korn Shell(简称 ksh)是一种功能强大的 Unix Shell,由 David Korn 在 AT&T 贝尔实验室开发。Korn Shell 结合了 Bourne Shell 和 C ...

    shell学习(经过自己整理)

    Bourne Shell的主要特点是它的命令语法结构、环境变量、特殊字符等。 shell编程简介: shell编程简介是指对shell编程的基本概念和技术的介绍,包括shell基础知识、shell变量、shell Script编程、shell的定制等。 ...

    linux运维学习笔记:Shell变量的数值运算.pdf

    Linux运维学习中,Shell脚本的编写是基础技能之一。在Shell编程中,变量的数值运算是一项非常重要的功能。本文将详细介绍Shell变量的数值运算方法以及相关知识点。 首先,Shell变量进行数值运算时,常见的命令有:...

    shell变量,具体的

    - 在条件判断语句中使用变量时,应确保正确引用变量值,避免语法错误。 ```bash if [ -z "$name" ]; then echo "emptyname" fi ``` - 使用双引号与单引号的区别在于,双引号内的变量会被展开,而单引号内的变量...

    shell编程基本语法

    - **导出变量**: 使用`export`命令可以将变量声明为全局变量,以便其他命令或子Shell脚本访问。 - **位置参数**: 位置参数是在调用Shell脚本时传递给脚本的参数。脚本内部可以通过`$1`, `$2`, ...等来访问这些参数。...

    计算机软件基础:04第一章Bshell编程.doc

    计算机软件基础:Bshell编程 在计算机软件基础中,Bshell编程是一种 Shell 程序编程,通过使用 ...通过这些知识点,我们可以了解到 Bshell 编程的基本概念和语法结构,这将有助于我们更好地学习和应用 Shell 编程。

    实验:设计自己的shell

    在本实验中,我们将探索如何设计自己的Shell,这是一种命令行解释器,允许用户与操作系统进行交互。Shell是Unix和Linux系统中的核心组件,它接受用户的输入命令并执行相应的操作。让我们深入了解一下这个过程涉及的...

    shell 语法

    在 shell 中定义一个变量非常简单,只需要指定变量名和赋值即可,无需声明数据类型。例如: ```sh varStr="value" varNum=100 ``` 需要注意的是,在赋值时 `=` 左右两边不能有空格。当使用变量时,需要在变量名前...

    5.1: Shell概述 、 编写及执行脚本 、 Shell变量 、 数值运算 、 总结和答疑.docx

    Shell概述、编写及执行脚本、Shell变量、数值运算 在 Linux 系统中,Shell 是一个非常重要的组件,它位于 Linux 内核与用户之间,负责向内核翻译及传达用户/程序指令。Shell 既可以作为交互式的命令行工具,也可以...

    shell十三问——学习shell编程的好书

    这个“Shell十三问”可能是指一系列关于Shell编程的问题,涵盖了基础到高级的主题。以下是一些关于Shell编程的核心知识点: 1. **什么是Shell**: Shell是一个命令解释器,它接收用户输入的命令并将其转化为操作...

    shell编程基础之变量

    在Shell中,无需预先声明变量的类型,可以直接给变量赋值。例如,`NAME="John"` 创建了一个名为`NAME`的变量,并将其值设置为"John"。变量名是大小写敏感的,所以`name`与`NAME`被视为不同的变量。 2. **变量类型*...

    Linux环境及开发工具应用实践:3_Linux shell编程1.ppt

    常见的shell类型有Bourne(sh)、Korn(ksh)、Bourne Again(bash)、POSIX(psh)、C(csh)、TC(tcsh)以及Z(zsh),其中bash和zsh在一定程度上支持csh的语法。在选择shell版本时,应根据具体操作系统,如...

    linux实验六 shell变量

    ### Linux实验六 Shell变量知识点详解 #### 一、实验目的 1. **熟悉Shell变量**: - Shell变量是Shell编程中的基本概念之一,用于存储数据。这些数据可以是文件名、数字或文本字符串。 - 变量分为两种类型:用户...

    shell编程.doc(变量 用户定义变量,环境变量,位置变量(shell 参数) )

    Shell变量是编程的核心部分,包括用户定义变量、环境变量和位置变量(shell参数)。用户定义变量由`$`符号后跟变量名来引用,例如`myvar=value`。环境变量是可供子进程使用的全局变量,如`HOME`表示用户的主目录,`...

    Linux-shell脚本全面学习.pdf

    * 在 shell 脚本中可以使用三类命令: Unix 命令、流程控制命令和 Shell 内置命令 * Unix 命令: + `echo`:将文字容打印在屏幕上 + `ls`:文件列表 + `wc`:计算文件行数、单词数和字符数 + `cp`:文件拷贝 + ...

    shell学习,第一章

    Shell学习第一章主要涵盖了Shell脚本语言的基础知识,包括Shell的介绍、基本语法、变量和字符串操作等内容。以下是对这些知识点的详细阐述: 1. **Shell介绍**:Shell是一种命令行解释器,它允许用户与操作系统进行...

    LINUX原理及应用:第9章 shell编程.ppt

    3. **易用性**:Shell脚本的语法相对简单,易于学习和调试,且提供了丰富的控制结构和函数。 4. **灵活性**:Shell脚本可以处理简单的单行命令,也可以构建复杂的逻辑结构,如循环和条件语句。 5. **命令组合**:...

Global site tag (gtag.js) - Google Analytics