一 . 单引号和双引号


1.单引号和双引号两者之间的作用和区别:

单引号('') : 单引号中的所有字符均作为普通字符处理 , 即原样输出 , 无法调用变量的值 .

双引号("") : 双引号中会自动识别特殊字符 , 即调用变量的值 , 如$ ,\n换行符 , \t tab键等特殊字符 .


实例说明: 赋值给变量 x 一个值 , 分别输出 '$x' 和 "$x"


再举个例子说明: 分别在命令行中输入: echo -e '${x}_\n_welcome_to\t_51cto' 和 echo -e "${x}_\n_welcome_to\t_51cto"

说明 : echo 的 -e 选项是允许识别\n换行符 , \t tab键 , \r回车符等特殊字符 , ${x}通常等于$x , 那么什么时候需要将变量名用{}括起来呢?
答 : 当变量名后面紧贴着其他字符时 , 为了避免歧义 , 就需要将变量名用{}括起来



二 . shell的函数功能和定义


1. 函数功能 : 完成特定功能的代码块(段)

在shell中定义函数可以使用代码模块化 ,便于复用(重复使用)代码 , 函数必须先定义才可以使用


2. 函数的定义 :


方法一:

函数名(){

函数要实现的功能代码

}

方法二:

function 函数名{

函数要实现的功能代码

}

通过 function , network 服务控制脚本可以看到其中内容 , 其中就有函数 , 比如cat -n /etc/rc.d/init.d/functions | more 查看:

通过介绍下面的 case 命令后 ,可以举例说明函数作用及用法 ...



三 . case 命令介绍

1. 功能定义 : 根据变量的取值不同 , 执行不同的操作命令

2. 语法格式 :

case $变量名 in

值一)

要实现功能的代码 ;;

值二)

要实现功能的代码 ;;

值三)

要实现功能的代码 ;;

....

值n)

要实现功能的代码 ;;

esac


实例: 编写一个名称为/sh/install.sh 的脚本 , 要求显示一个主菜单界面 , 提示用户输入选项 , 回车后确认执行指定选项的命令操作:


方法一 : vim /sh/install.sh 输入以下内容 :

使用 bash /sh/install.sh运行脚本后 ,会显示一个菜单 , 输入对应的编号 , 即会出现相应的命令


方法二 : 使用函数定义 , 并调用函数

上图中定一了一个名为_NFS , 作用是检测安装nfs服务的函数 , 再在case命令值一中 , 调用_NFS函数 , wq出去后运行 , 输入编号 1 , 即可安装nfs服务


以上就是关于case命令和shell函数的使用 !!