操作系统学习笔记(九)

2019-04-17  本文已影响0人  itczt

Shell

Shell是操作与用户交互的界面



Shell表现为通过控制台执行用户命令的方式。
Shell本身不执行命令,仅仅是组织和管理命令。

shell的脚本编程

#!/bin/bash
#创建临时文件
sudo mkdir/usr/temp
#解压安装包到临时文件
sudo echo"正在解压文件"
sudo onzip -qd/usr/temp/HUSTLIBVC30.zip
sudo echo"解压完成"
#拷贝安装文件
sudo cp -rf/usr/temp/HUSTLIBV30/HUSTLIB/usr/lib
#使配置文件生效
sudo ldconfig
#删除临时文件
sudo echo "正在删除临时文件"
sudo rm -rf/usr/tmep
sudo echo " 删除临时文件成功"
sudo echo "安装完成请重启"

shell脚本编程

#!/bin/bash
read -n | -p "Enther your choice:"answer
echo
case $answer in
Y|y)
echo yes;;
N|n)
echo no;;
*)
echo "please input Y or N"


运行结果

root @~/fan#./cc.sh
Enter your choice:y
yes

read命令

read -n | -p "Enter your choice:" answer

answer:指定的变量,可以随意定义。
-n:指定输入字符的个数。达到个数自动结束输入。
-p:给出提示信息。

case expr in         #expr为表达式,关键词in不要忘!
     pattern1)         #若expr与pattern1匹配,注意括号
      commands1   #执行语句块commands1
     ;;                      #跳出case结构
   pattern2)           #若expr与pattern2匹配
  commands2       #执行语句块commands2
   ;;                       #跳出case结构
  ... ...                   #可以有任意多个模式匹配
  *)                       #若expr与上面的模式都不匹配
 commands         #执行语句块commands
 ;;                         #跳出case结构
esac                    #case语句必须以esac终止

eg:输入x和y两个整数,比较它们的大小

#!/bin/bash
#scriptame:ex4if.sh
echo -n "please input x,y:"
read x y
echo "x=$x,y=$y"
if((x>y));then
echo "x is larger than y"
else
echo "x is less than y"
fi

运行结果

please inout x,y;20,30
x=20,y=30
x is less tan y

语法结构

if expr1   #如果expr1为真(返回值为0)
then        #那么
    commands1     #执行语句块commands1
elif expr2              #若expr1不真,而expr2为真
then         #那么
    connands2       #执行语句块commands2
... ...                   #可以有多个elif语句
else                   #else语句最多只有一个
commands4      #执行语句块commands4
fi                        #if语句必须以单词fi终止

运行脚本程序的三个方法

方法一:直接运行(用缺省版本的shell运行脚本程序)
方法二:使用某个特定版本的shell执行脚本

$bash first -script
上一篇下一篇

猜你喜欢

热点阅读