3.3 用户界面
3.3.1 用户界面概念
3.3.2 Shell脚本编程
3.3.1 操作系统用户界面
用户界面的定义:
OS提供给用户控制计算机的机制,又称用户接口。
用户界面的分类:
操作界面
系统调用(System Call ,系统功能调用,程序界面)
图形用户接口( GUI , Graphic User Interface)
窗口、图标、菜单、按钮、鼠标(消息,事件)
键盘命令(COMMAND)
在控制台环境下接受键盘输入的命令
类型:
普通命令|批处理程序|shell脚本
-
批处理:
1.普通命令的集合,批执行,由command解释执行。2.支持变量替换、条件、转移、循环、注释等简单语法
3.*BAT -
Shell
Shell是LinuxOS与用户交互的界面
通过控制台执行用户命令的方式
Shell的发展与分类
1.Bsh;
2.Csh;
3.Ksh;
4.Bash;(目前主流)
-
Bash的功能包括:
命令行编辑功能
命令和文件名补全功能
命令历史功能
命令别名功能
提供作业控制功能
管道与重定向
具有将命令序列定义为各功能键的功能
Shell脚本编程 -
管道
管道:特殊的重定向操作
管道操作符:
“|”符号用于连接左右两个命令,将“|”左边命令的执行结果(输出)作为“|”右边命令的输入
CMD1 | CMD2
在同一条命令中可以使用多个 “|” 符号链接多条命令
3.3.2 Shell脚本编程
- 脚本(Script):通过类似程序的方式执行具有一定逻辑顺序的命令序列完成较复杂的功能和人机交互。
1.脚本程序保存在文本文件中;
2.脚本程序是Shell命令语句的集合;
Shell脚本程序由Shell环境解释执行;
执行Shell脚本文件需要具有可执行属性(x)
Chmod + x MyScript.sh
read 从键盘读入一行,把各个字符赋给相应变量。
read -n | -p “Enter your choice:” answer
answer:指定的变量,可以随意定义
-n:指定输入字符的个数,达到个数自动结束输入
-p:给出提示信息
echo向控制台输出字符串 echo yes
格式:echo[-n] 字符串
-n:输出字符串后不换行
字符串可加引号,也可以不加引号
1 #!/bin/bash
2 #./test002.sh
3 #for_test
4
5
6
7 echo -n "Please input x,y:"
8 read x y
9 echo "x=$x,y=$y"
10 if((x>y));then
11 echo "x is larger than y"
12 elif((x==y));then
13 echo "x is equal to y"
14 else
15 echo "x is less than y"
16 fi
17
运行脚本程序的三个方法:
-
方法1:直径运行(用缺省版本的shell运行脚本程序)
-
方法2:使用某个特定版本的Shell执行脚本
$bash first script
指定一个特定shell版本(这个例子是bash)来执行这个脚本
first_script逐行执行脚本中的命令并以此输出结果。
当脚本文件中的命令依次执行完毕,该临时子shell也自动结束运行,返回到用户原来使用的shell状态。 -
方法3:在脚本文件首行指定shell
在脚本开头增加一行:
#!bin/bash —— #!必须顶格,后接shell全路径
可从/etc/shell获知所有可用shell及其绝对路径。