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

参考文档

  1. Advanced Bash-Scripting Guide

你可能感兴趣的:(脚本,bash)