2014年7月21号 (shell学习一)
2014-07-21 16:52
274 查看
实例一:
第一步:使用vi创建一个文件**.sh(vi的使用这里暂不介绍)
#!/bin/bash 注:这是指明有那个shell来解释下边的命令
cd /var/log #切换目录到/var/log下(#是shell中的注释符)
cat /dev/null > messages #这里用到啦输入输出重定向这里是输入重定向,/dev/null是linux中的设备,俗称无低洞。
cat /dev/null > wtmp
echo "Logs cleaned up." 这里是输出一句话
增强版:
#!/bin/bash
#Cleanup 2, 版本
LOG_DIR=/var/log(注:shell是一种弱类型变量,不需要声明变量)
cd $LOG_DIR
cat /dev/null > messages
cat /dev/null > wtmp
echo "Logs cleaned up."
exit
#!/bin/bash
LOG_DIR=/var/log
ROOT_UID=0
LINES=50
E_XCD=66 # 不能修改目录?
E_NOTROOT=67 # 非根用户将以error 退出
if [ "$UID" -ne "$ROOT_UID" ]
then
echo "Must be root to run this script."
exit $E_NOTROOT
fi
if [ -n "$1" ]
then
lines=$1
else
lines=$LINES # 默认,如果不在命令行中指定
fi
bbpengwang解释:判断字符串$1是否为空,若为空则返回false,不为空则返回ture
cd $LOG_DIR
if [ `pwd` != "$LOG_DIR" ] # 或者 if[ "$PWD" != "$LOG_DIR" ]
# 不在 /var/log 中?
then
echo "Can't change to $LOG_DIR."
exit $E_XCD
fi # 在处理log file 之前,再确认一遍当前目录是否正确.
tail -n $lines messages > mesg.temp
mv mesg.temp messages
cat /dev/null > wtmp # ': > wtmp' 和 '> wtmp'具有相同的作用
echo "Logs cleaned up."
exit 0
# 退出之前返回0,返回0 表示成功.
本人中文名字:王鹏,英文名字:pengwang,联系方式:1352920044,qq群:363356101
这里提醒一下大家,一定要注意if语句的写法if [ ] if要和方括号之间有空格,表达式要和方阔号之间有空格
大家好昨天看的中文译版中有很多错误,今天把他们纠正过来,过两天本园主把脚本上传给大家
第一步:使用vi创建一个文件**.sh(vi的使用这里暂不介绍)
#!/bin/bash 注:这是指明有那个shell来解释下边的命令
cd /var/log #切换目录到/var/log下(#是shell中的注释符)
cat /dev/null > messages #这里用到啦输入输出重定向这里是输入重定向,/dev/null是linux中的设备,俗称无低洞。
cat /dev/null > wtmp
echo "Logs cleaned up." 这里是输出一句话
增强版:
#!/bin/bash
#Cleanup 2, 版本
LOG_DIR=/var/log(注:shell是一种弱类型变量,不需要声明变量)
cd $LOG_DIR
cat /dev/null > messages
cat /dev/null > wtmp
echo "Logs cleaned up."
exit
#!/bin/bash
LOG_DIR=/var/log
ROOT_UID=0
LINES=50
E_XCD=66 # 不能修改目录?
E_NOTROOT=67 # 非根用户将以error 退出
if [ "$UID" -ne "$ROOT_UID" ]
then
echo "Must be root to run this script."
exit $E_NOTROOT
fi
if [ -n "$1" ]
then
lines=$1
else
lines=$LINES # 默认,如果不在命令行中指定
fi
bbpengwang解释:判断字符串$1是否为空,若为空则返回false,不为空则返回ture
cd $LOG_DIR
if [ `pwd` != "$LOG_DIR" ] # 或者 if[ "$PWD" != "$LOG_DIR" ]
# 不在 /var/log 中?
then
echo "Can't change to $LOG_DIR."
exit $E_XCD
fi # 在处理log file 之前,再确认一遍当前目录是否正确.
tail -n $lines messages > mesg.temp
mv mesg.temp messages
cat /dev/null > wtmp # ': > wtmp' 和 '> wtmp'具有相同的作用
echo "Logs cleaned up."
exit 0
# 退出之前返回0,返回0 表示成功.
本人中文名字:王鹏,英文名字:pengwang,联系方式:1352920044,qq群:363356101
这里提醒一下大家,一定要注意if语句的写法if [ ] if要和方括号之间有空格,表达式要和方阔号之间有空格
大家好昨天看的中文译版中有很多错误,今天把他们纠正过来,过两天本园主把脚本上传给大家
相关文章推荐
- Shell脚本学习
- Linux学习笔记-shell命令[转帖]
- shell学习之-sed用法解析
- Shell学习记录[原创更新中]
- 日记 [2008年04月19日]shell 学习
- shell学习之合并与分割
- shell学习之-程序的流程控制(1)
- shell学习之-特殊字符
- 介绍一个不错的shell脚本编程学习网站给大家
- Shell学习笔记之条件测试
- 写得蛮好的linux学习笔记(压缩命令,vi一般用法,认识SHELL,正规表示法)
- Shell 编程学习笔记:条件测试
- 写得蛮好的linux学习笔记五-认识SHELL(收藏)
- shell学习简介
- shell学习笔记【原创】
- shell学习日志
- 2007.3.7--C++学习日记--MFC--用VC调用Shell中的目录浏览对话框
- shell学习笔记(一)
- shell脚本学习心得
- 写得蛮好的linux学习笔记 [转] 三vi,shell,grep使用