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
posted @ 2015-10-03 18:14  corfox  阅读(205)  评论(0编辑  收藏  举报