●Shell中变量的表示方法是什么?
在Shell中,一般在名字前加$表示变量,例如:
$ first = Hello
$ echo $first
Hello
●Shell中可否直接从标准输入读入变量?
答案是肯定的,而且实现的方法也很简单,用read命令就好,例如:
$ read yourname
Wang Tian
$ echo $yourname
Wang Tian
●Shell中引号使用时的注意事项是什么?
在Shell中使用单引号和双引号要特别注意如下一个区别:单引号所包含的字符串里若含有变量($var),不作替换处理,而双引号所包含的字符串则会自动进行变量的替换。例如:
$ myname = “Li Xi”
$ echo “My name is $myname.”
My name is Li Xi.
$ echo ‘My name is not $myname.”
My name is not $myname.
●Shell中的环境变量有哪些?它们各有什么作用?
环境变量在实际Shell编程中广泛使用,是需要重点掌握的。现在只介绍几个主要的常用的变量:
1)$HOME 当前用户的主目录
2)$PATH 命令的搜索路径
3)$PS1 命令提示符,就是你在Linux命令行下那个总出现的提示符,通常是$,也可能定制成其他类型。
4)$PS2 第二命令提示符,比如当你输入的命令需要接受输入时,也会给出一个提示符,通常为>
5)$IFS 输入字段分隔符,就是当你读入信息时用来将字符串分隔为单词的符号,通常为空格、制表符以及回车符号。
6)$0 所执行的Shell脚本的名字
7)$# Shell脚本(命令)传递的参数个数
8)$$ 所执行的Shell脚本的进程号,通常用来生成唯一的临时文件名
●Shell中的参数变量有哪些?它们各有什么作用?
参数变量与环境变量同样重要,当你编写的脚本需要调用参数时,系统会自动为你创建这些参数变量,如果不需要传递参数,上面的环境变量$#的值会设为0。参数变量比较简单,就有三个而已:
1)$1, $2, … 传递给脚本的参数1,2,…
2)$* 所有参数的一个列表,参数之间用IFS中所定义的第一个分隔符分隔
3)$@ $*的一个变种,它不使用IFS环境变量的分隔符,即使IFS为空,也不影响其表示。所以这是比$*更好的一种表示方式。