操作系统的用户界面(2)

2020-06-12  本文已影响0人  R_est

Shell 脚本编程

脚本(Script)通过类似程序的方式执行具有一定逻辑顺序的命令序列完成较复杂的功能和人机交互,脚本程序保存在文本文件中,是Shell命令语句的集合。

#!安装文件的脚本程序例子 install.shell
#!/bin/bash
# 创建临时文件
sudo mkdir /usr/temp
# 解压安装包到临时文件
sudo echo "正在解压文件"
sudo unzip  -qd /usr/temp  /HUSTLibV30.zip
sudo echo "解压完成"
# 拷贝安装文件
sudo cp -rf  /usr/temp/HUSTLibV30/HUSTLib  /usr/lib
# 使配置文件生效
sudo ldconfig
# 删除临时文件
sudo echo "正在删除临时文件"
sudo rm -rf /usr/temp
sudo echo "删除临时文件成功"
sudo echo "安装完成请重启"

Shell脚本程序由Shell环境解释执行
需要可执行属性(x),Chmod + x MyScript.sh

#用户输入y或Y输出Yes,输入n或N输入No,cc.sh
#!/bin/bash
read -n 1 -p "Enter your choice:" answer
  echo
  case $answer in
Y|y)
  echo yes;;
N|n)
  echo no;;
*)
  echo "Please input  Y or N";;
esac

read 从键盘读入一行,把各个字段赋给相应变量
answer 指定变量,可以随意定义
-n 指定输入字符的个数,达到个数自动结束输入
-p 提示信息


echo 向控制台输出字符串
格式 echo [-n]字符串
-n 输入字符串后不换行
字符串可加引号,也可以不加引号(多空格变单空格)


case expr in #expr为表达式,关键词in不要忘记!
pattern 1) #匹配哪个执行哪个,注意括号
commands 1
;;# 跳出case结构
pattern 2)
commands 2
;;
......
*)#都不匹配执行这个
commands
;;
esac # 结束case,必须


#输入x,y两个整数,并比较大小 ex4if.sh
#!/bin/bash
#
echo -n "Please input x,y:"
read x y
# 确认x,y
echo "x=$x,y=$y"
if ((x>y)); then
  echo "x is larger than y"
elif ((x>y)); then
  echo "x is equal to y"
else 
  echo "x is less than y"
fi

系统调用

操作系统内核为应用程序提供的服务和函数


系统调用 系统调用X的中断过程
Dos利用INT 21h中断实现系统调用
01:程序终止 39:建立子目录
02:键盘输入并回显 3A:删除子目录
03:显示输出 3B:改变当前目录
04:异步通信输入 3C:建立文件
... ...
08:键盘输入无回显 3F:读文件
09:显示字符串 40:写文件
... ...
上一篇下一篇

猜你喜欢

热点阅读