+ -
当前位置:首页 → 问答吧 → 一个智能脚本

一个智能脚本

时间:2009-09-15

来源:互联网

很多时候,我们都需要写一些简单的脚本,但是建一个文件,写入脚本,修改权限,这一过程实在是太没劲了。所以可以写一个脚本来完成这一系列的动作。同时可以根据后缀名来判断脚本类型,自动加入sha-bang行
#!/bin/sh
#filename: newsh
if [[ $# -ne 1 ]]
then
    echo "Usage: $0 filename" 1>&2
    exit 1
elif [[ -e "$1" ]]
then
    echo "file exists!" 1>&2
    exit 1
else
    /bin/touch $1
    dotname=${1##*.}
    if [[  $dotname="sh" ]]
    then
        echo "#!/bin/sh" >> $1
    elif [[ $dotname="rb" ]]
    then
        echo "#!/bin/ruby -w" >> $1
    elif [[ $dotname="pl" ]]
    then
        echo "#!/bin/perl" >> $1
    fi
   /bin/chmod u+x $1
   /usr/bin/vi $1
fi

作者: wang7131984   发布时间: 2009-09-15

谢谢楼主的共享

作者: weroou   发布时间: 2009-09-15

本帖最后由 alick 于 2009-9-15 19:36 编辑

很好,顶一个!
但是发现我的vi命令在/bin里而不是/usr/bin里
另外$dotname="sh"和与之类似的下面两句中的等号两边要放空格,不然运行也不对。

作者: alick   发布时间: 2009-09-15

shell 脚本我经常是不加扩展名的。
最好自始至终给 $1 这种东西加上双引号。

作者: acrofox   发布时间: 2009-09-18

看不懂。

作者: huangkll   发布时间: 2009-09-25

谢谢楼主的共享

作者: 51linux   发布时间: 2009-11-18

见识了

作者: qxwyp   发布时间: 2011-11-06