码迷,mamicode.com
首页 > 系统相关 > 详细

shell脚本学习笔记

时间:2017-10-15 21:12:51      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:ascii   ack   操作   uid   exit   覆盖   /dev/null   shell脚本   log   

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脚本学习笔记

标签:ascii   ack   操作   uid   exit   覆盖   /dev/null   shell脚本   log   

原文地址:http://www.cnblogs.com/hellokitty2/p/7672718.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!