1.2 什么是shell script,1.2是shellscript
1.2 什么是shell script,1.2是shellscript
当命令或语句不在命令行执行,而是通过一个程序文件执行时,该程序就称为shell script或shell 程序。shell脚本文件中可以编写一系列命令和命令语句、变量和流程控制语句等结合起来就形成了一个功能强大的shell script
shell 程序类似于DOS系统下的批处理程序(*.bat)
Windwos下利用批处理程序bat开发的备份网站及数据库的脚本
@echo off set date=%date:~0,4%-%date: ~5,2%-%date:~8,2% mysqldump -uroot -ppassword -A -B > D:\back\"%date%".sql rar.exe a -k -r -s -ml D:\bak\"%date%".sql.rar D:\bak\"%date%".sql del D:\bak\*.sql rar.exe a -k -r -s -ml D:\bak\"%date%"htdocs.rar D:\work\PHPnow\htdocs
清除/var/log/message 系统日志文件命令脚本
# 使用root身份运行这个脚本 # 清除日志版本,版本:v1 cd /var/log cat /dev/null > messages echo "Logs cleaned up."
问题:
1. 不是root执行权限执行不了
2. 没有流程控制判断是否存在文件
LOG_DIR=/var/log # $UID为0的时候,用户才具有root用户的权限 ROOT_UID=0 # 使用root用户来运行 if [ "$UID" -ne "$ROOT_UID" ] then echo "Must be root to run this script." exit 1 fi cd $LOG_dir || { echo "Can't change to necesary directory." >&2 exit 1 } cat /dev/null > messages echo "Logs cleaned up." exit 0
# 推出之前返回0表示成功,返回1表示失败
清空日志的三种方法:
# echo "" >test.log
# >a.log
# cat /dev/null > test.log
应用场景:用于保留文件,清空内容
评论暂时关闭