oslab/run shell注释

该博客详细介绍了如何在Linux环境下进入特定文件夹、解压文件并检查解压结果。此外,还讲解了bash脚本中的命令和语法,包括变量赋值、条件判断、路径获取及输出重定向等,并提供了umount和Bochs相关操作的示例。
摘要由CSDN通过智能技术生成
# 进入到 oslab 所在的文件夹
$ cd /home/shiyanlou/oslab/

# 解压,并指定解压到 /home/shiyanlou/
# 这样的话,在 /home/shiyanlou/oslab/ 中就能找到解压后的所有文件
$ tar -zxvf hit-oslab-linux-20110823.tar.gz \
  -C /home/shiyanlou/

# 查看是否解压成功
$ ls -al
# 除了压缩包 hit-oslab-linux-20110823.tar.gz 之外,其他的就是压缩包中的内容
#!/bin/bash

#1.这里res=$()格式是:运行()中命令作为输出,将其赋值给res
#2.dirname - strip last component from file name。
#如  dirname /usr/bin/  ->   "/usr"
#3.双引号作用:弱替换。执行其中的命令,解释其中特殊字符的含义
#4.BASH_SOURCE[0]这个就是当前脚本的路径。
#我试了,输出的总是脚本的相对路径
#5.花括号:限定名称范围
#这个最常见的变量形式就是$var,打印var用命令
#echo $var
#可是这里有个问题:当你要显示变量值加随意的字符(如$varAA)时,就会出错。
#系统会认为整个varAA是一个变量,这时就可以用一个大括号来限定变量名称的
#范围,如${var}AA,这样就好了。
#6.输出重定向:> 追加模式是 :>>
#7. > /dev/null简单的理解,将命令的输出信息输入到 /dev/null中,
#标准输出几口将输出信息显示到屏幕上,而使用> /dev/null将消除命令
#回显信息的显示。
#8.&&:用来执行条件成立后执行的命令
#||:用来执行条件不成立后的执行命令
#9.合着,这第一句的输出是pwd,pwd是当前脚本所在的目录。然后我测试了下这句:
#OSLAB_PATH=$(dirname "${BASH_SOURCE[0]}")发现输出是 . 
#而这个脚本的输出是/home/li/oslab
export OSLAB_PATH=$(cd $(dirname "${BASH_SOURCE[0]}") >/dev/null && pwd)

#1.这里是测试条件。由于shell的if语句只能判断命令退出码(0是True),所以增加了
#这个测试条件。
#-e表示只bai要filename存在,则为真
#2.在Linux中,语句中的分号一般用作代码块标识.
#也就是说,这里的;只是为了少打一个换行符
#3.$?
#最后运行的命令的结束代码(返回值)即执行上一个指令的返回值
#(显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
if [ ! -e "$OSLAB_PATH/hdc/umounted" ]; then
	echo umount hdc first
	sudo umount $OSLAB_PATH/hdc
	if [ "$?" != "0" ]; then
		exit
	fi
fi

$OSLAB_PATH/bochs/bochs-gdb -q -f $OSLAB_PATH/bochs/bochsrc.bxrc

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值