Sh文件:
获取今天时期:date +%Y%m%d`
获取昨天时期:`date -d yesterday +%Y%m%d`
获取前天日期:`date -d -2day +%Y%m%d`
#!/bin/sh linux shell 脚本开头的声明
如果过要执行的话,编译 chmod +x filename 这样才能用./filename 来运行
以#开头的表示注释语句(没有分号)
$a = ‘shenghua’
echo $a
export是环境变量
很简单的删除空行和获取特定列的脚本
#!/bin/bash
#delete all blank in the document file.
sed -i '/^$/d' *
echo “delete success!”
exit 1
计算字符串长度
echo “$str”|awk ‘{print length($0)}’
expr length “$str”
echo “$str”|wc -c
但是第三种得出的值会多1,可能是把结束符也计算在内了
判断字符串是否为空
if [ "$str" = "" ]
if [ x"$str" = x ]
if [ -z "$str" ]
将字符串作为参数传给awk处理
who | awk ‘/^’”$USER”‘/ { print $2 }’ (1) //将$USER作为参数传给awk,利用了字符串连接的功能;
who | awk ‘$1 == user { print $2 }’ user=”$USER” //标准的方式
另外,还可以用环境变量传递参数给awk;
备份数据库shell脚本
#!/bin/sh
# File: /home/mysql/backup.sh
# Database info bakupmysql GGclub 2007/11/20
DB_USER=”user”
DB_PASS=”password”
# Others vars
DATE=`date +%Y-%m-%d`
mkdir /home/mysqlbak/$DATE
BIN_DIR=”/usr/local/mysql/bin”
BCK_DIR=”/home/mysqlbak/$DATE”
# TODO
$BIN_DIR/mysqldump –opt -u$DB_USER -p$DB_PASS discuz > $BCK_DIR/discuz.sql
$BIN_DIR/mysqldump –opt -u$DB_USER -p$DB_PASS zjblog > $BCK_DIR/zjblog.sql
$BIN_DIR/mysqldump –opt -u$DB_USER -p$DB_PASS openads > $BCK_DIR/openads.sq