2020/1/6
分区修复
在使用服务器做实验的过程中,出现了Input/output error 的错误,不能进入此盘下的目录。经过百度是扇区出现了错误。于是首选使用命令
umount /dev/xx
来卸载这个分区,发现出现了”分区忙“的提示,于是百度,可能是某个用户使用了这个分区,使用命令
who
来看,发现目前自己就在挂在的目录下,于是 “cd../” 提出然后
umount /dev/xx
果然就成功了。
然后使用
xfs_repair /dev/xxx
来修复(这个分区是 xfs 文件系统),最后挂在
mount /dev/xx /home/yy
果然成功。
2021/1/11
shell 脚本
set -u
与
sel -o nounset
意思相同
set -u就用来遇到变量脚本不停止执行。脚本在头部加上它,遇到不存在的变量就会报错,并停止执行。
set -e
也就是说,在"set -e"之后出现的代码,一旦出现了返回值非零,整个脚本就会立即退出。有的人喜欢使用这个参数,是出于保证代码安全性的考虑。但有的时候,这种美好的初衷,也会导致严重的问题。
set -o pipefail
设置了这个选项以后,包含管道命令的语句的返回值,会变成最后一个返回非零的管道命令的返回值。听起来比较绕,其实也很简单:
set -e
与
set -o errexit
相同,遇到错误退出
Shell 脚本中?,$!,$$ 等的作用
- $$
Shell本身的PID(ProcessID)
- $!
Shell最后运行的后台Process的PID
- $?
最后运行的命令的结束代码(返回值)
- $-
使用Set命令设定的Flag一览
- $*
所有参数列表。如"1 n"的形式输出所有参数。
6.$@
所有参数列表。如"1" "n" 的形式输出所有参数。
- $#
添加到Shell的参数个数
- $0
Shell本身的文件名
9.$1~$n
添加到Shell的各参数值。2是第2参数…。