shell编程中的引号
1,在shell编程中,单引号和双引号有着不同的意义。用单引号引起来的shell变量直接输出引号内的内容。用双引号引起来的变量输出变量的值。如果在$之前加上\,也可以直接输出变量,而不是变量值,即相当于单引号。看下面的一个例子:[*]#!/bin/bash
[*]
[*]myvar="Hi there"
[*]
[*]echo $myvar
[*]echo "$myvar"
[*]echo '$myvar'
[*]echo \$myvar
[*]
[*]echo Enter some text
[*]read myvar
[*]
[*]echo '$myvar' now equals $myvar
[*]
[*]exit 0
输出结果如下:
[*]$./variable
[*]Hi there
[*]Hi there
[*]$myvar
[*]$myvar
[*]Enter some text
[*]Hello world
[*]$myvar now equal Hello world
2, 在shell编程中变量默认都是string格式。当给一个变量直接赋值时,如果含有whilespace(包括空格、tab等),则需要用双引号引起来,如果不含,则可引可不引。但是,当变量是通过互动方式,即read从terminal输入值时,不管有没有空格,都不需要用引号。如下所示:
[*]$ var=Hello
[*]$ echo $var
[*]Hello
[*]$ var="Hello World"
[*]$ echo $var
[*]Hello World
[*]
[*]$ read var
[*]what is that?
[*]$ echo var
[*]what is that?
页:
[1]