shell脚本学习笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本学习笔记相关的知识,希望对你有一定的参考价值。
1./dev/null /dev/zero
①/dev/null : /dev/null,称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF。Unix行话中,/dev/null 被称为位桶(bit bucket)或者黑洞(black hole)。空设备通常被用于丢弃不需要的输出流,或作为用于输入流的空文件。这些操作通常由重定向完成。
# cat /dev/null > /var/log/messages 清除文件的内容而不删除文件本身
# : > /var/log/messages 有同样的效果,但不会产生新的进程。(内建的)
# ln -s /dev/null test.c 往test.c中写任何内容都不会得到保存
②/dev/zero : /dev/zero 是一个特殊的文件,当你读它的时候,它会提供无限的空字符(NULL, ASCII NUL, 0x00)。其中的一个典型用法是用它提供的字符流来覆盖信息,另一个常见用法是产生一个特定大小的空白文件。
2.使用 echo $? 查看上条命令的退出码:0为命令正常执行,1-255为有出错。
# dd if=/dev/zero of=/dev/sdb bs=4M 来给整个U盘清零。
3.echo $$ 打印运行当前脚本的进程的PID
4.要求以root身份来运行
ROOT_UID=0 # Root 用户的 $UID 是 0.
E_WRONG_USER=65 # 不是 root?
if [ "$UID" -ne "$ROOT_UID" ]
then
echo; echo "You must be root to run this script."; echo
exit $E_WRONG_USER
fi
或者:
E_NON_ROOT_USER=70 # 必须用root来运行.
ROOTUSER_NAME=root
username=`id -nu`
if [ "$username" != "$ROOTUSER_NAME" ]
then
echo "Must be root to run ""`basename $0`""."
exit $E_NON_ROOT_USER
fi
以上是关于shell脚本学习笔记的主要内容,如果未能解决你的问题,请参考以下文章