Bash脚本实例
Bash脚本实例
收集一些有用的脚本实例供平时使用,不定期更新。
#!/bin/bash
# 删除当前目录下文件名中包含一些特殊字符的文件
for filename in *
do
#删除文件名包含如下字符的文件:+ { ; " \ = ? ~ ( ) < > & * | $
badname=`echo "$filename" | sed -n /[\+\{\;\"\\\=\?\~\(\)\<\>\&\*\|\$]/p`
rm $badname 2>/dev/null #错误消息将被抛弃
done
# 删除包含空格字符文件名的文件
# find命令匹配到的文件名将被替换到{}的位置
find . -name "* *" -exec rm -f {} \;
exit 0
#!/bin/bash
#拷贝当前目录下所有的文件到指定的另一个目录下
if [-z "$1"]
then
echo "Usage: `basename $0` dir"
exit 1
fi
ls . | xargs -i -t cp ./{} $1
exit 0
#!/bin/bash
#通过名字kill进程
if [ -z "$1" ]
then
"Usage: `basename $0` name"
exit 1
fi
ps -ax | grep "$1" | awk '{print $1}' | xargs -i kill {} 2&>/dev/null
exit $?
#!/bin/bash
#检查指定目录下的脚本文件
FILEHEAD="#!"
if [ $# -gt 2 ]
then
"Usage: `basename $0` [dir]"
exit 1
fi
DIRNAME=$PWD
if [ -n "$1" ]
then
DIRNAME=$1
fi
for file in $DIRNAME/*
do
if [[ -f $file ]] && [[ `head -c2 $file`==$FILEHEAD ]]
then
echo "File \"$file\""
fi
done
exit 0
参考文档