linux 学习与使用

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 脚本中?,$!,$$ 等的作用

  1. $$
    Shell本身的PID(ProcessID)
  1. $!
    Shell最后运行的后台Process的PID
  1. $?
    最后运行的命令的结束代码(返回值)
  1. $-
    使用Set命令设定的Flag一览
  1. $*
    所有参数列表。如"1 n"的形式输出所有参数。

6.$@
所有参数列表。如"1" "n" 的形式输出所有参数。

  1. $#
    添加到Shell的参数个数
  1. $0
    Shell本身的文件名

9.$1~$n
添加到Shell的各参数值。2是第2参数…。

你可能感兴趣的:(linux 学习与使用)