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 1fils . | xargs -i -t cp ./{} $1exit 0
#!/bin/bash#通过名字kill进程if [ -z "$1" ]then "Usage: `basename $0` name" exit 1fips -ax | grep "$1" | awk '{print $1}' | xargs -i kill {} 2&>/dev/nullexit $?
#!/bin/bash#检查指定目录下的脚本文件FILEHEAD="#!"if [ $# -gt 2 ]then "Usage: `basename $0` [dir]" exit 1fiDIRNAME=$PWDif [ -n "$1" ]then DIRNAME=$1fifor file in $DIRNAME/*do if [[ -f $file ]] && [[ `head -c2 $file`==$FILEHEAD ]] then echo "File \"$file\"" fidoneexit 0
参考文档