口算法netmask转CIDR例如:255.255.192.0 255.0.0.0、255.255.0.0、255.255.255.0、255.255.255.255 这四种分别对应 8、16、24、32 去掉所有255.的字符和.及其后面的字符,得到了 192。用 256 减去 192,得到了 ...
通过受限bash创建只读用户
受限bash bash本身也有一定的限制功能,就是通过其(受限shell) restricted shell 功能。 如果bash是以rbash为名启动,或者使用-r选项运行,它就称为受限shell。 受限bash所做的限制包括: 阻止用户改变目录和环境变量 重定向输出 使用绝对路径运行命令 使用e ...
shell中脚本路径的获取
很多情况下,我们会先获取当前脚本的路径,然后一这个路径为基准,去找其他的路径。通常我们是直接用 pwd 以期获得脚本的路径。实际上这样是不严谨的,pwd 获得的是当前 shell 的执行路径,而不是当前脚本的执行路径。 使用 dirname 命令再结合 pwd 可以准确地得到脚本的实际路径 [use ...
shell使用mktemp命令创建临时文件
在生产环境中,很多情况下在脚本中会使用一些临时的普通文件,比如 1.txt,test.txt。为了简单,可能 A 员工在维护时脚本中使用了一个 1.txt,B员工在维护的时候也使用了 1.txt,这时候就造成了文件使用上的冲突。为了尽可能的避免这类情况的发生,我们就可以使用 mktemp 命令创建属 ...
shell的进程替换
进程替换与命令替换很相似,命令替换把一个命令的结果赋给一个变量,例如 dir_contents=$(ls -al) 。进程替换则是把一个进程的输出回馈给另一个进程 (换句话说,它把一个命令的结果发送给另一个命令)。 命令替换的形式是由圆括号括起的命令 >(command)<(comman ...
shell的语法调试
使用bash选项-n 检查脚本语法格式是否有错 bash -n script.sh -v 选项将跟踪脚本中每个命令的执行 bash -v script.sh -x 选项会使脚本单步执行,将整个脚本每一步解释和执行过程显示出来 [user1@study ~]$ cat script.sh #!/bin ...
shell中信号捕捉
信号捕捉信号是一种进程间的通信机制,它给应用程序提供一种异步的软件中断,使应用程序有机会接受其他程序活终端发送的命令(即信号)。 应用程序收到信号后,有三种处理方式:忽略,默认,捕捉。进程收到一个信号后,会检查对该信号的处理机制。如果是 SIG_IGN,就忽略该信号;如果是 SIG_DFT,则会采用 ...
shell的状态返回值
在 shell 中,每个命令都会返回一个状态返回值。成功的命令返回 0,而不成功的命令返回非零值。非零值通常都被解释成一个错误码。 在 shell 中$? 是一个特殊变量,它所引用的值就是上一条命令的执行状态返回值。 在 shell 的函数执行后,$? 返回的是函数执行的最后一条命令的状态返回值 ...