平时经常要和各种脚本打交道,而且要不时的写些小脚本试验语言的语法或语义,每次都 vim foo 然后再 chmod a+x foo,甚或 touch foo; chmod a+x foo 然后再 vim foo 输入一堆固定不变的东西显得很浪费时间,故有下面这个小脚本
#!/bin/bash
script_type=${0##*/}
file_name=init_script.sh
if [ -e "$1" ]; then
echo "$1 exist!"
exit 1;
elif [ "$script_type" = "init_script.sh" ]; then
echo "usage: init_scripttype scriptname"
exit 1;
elif [ $# -ne 1 ]; then
echo "usage: $script_type filename"
exit 1;
else
case "$script_type" in
init_perl )
echo -e "#!/usr/bin/perl\nuse strict;\nuse warnings;" > $1
chmod a+x $1
vim + $1 ;;
init_python )
echo "#!/usr/bin/python" > $1
chmod a+x $1
vim $1 ;;
init_bash )
echo "#!/bin/bash" > $1
chmod a+x $1
vim $1 ;;
init_tcl )
echo "#!/usr/bin/tclsh" > $1
chmod a+x $1
vim $1 ;;
init_tk )
echo "#!/usr/bin/wish -f" > $1
chmod a+x $1
vim $1 ;;
init_cpp )
echo -e "#include \nusing namespace std;" > $1
vim + $1 ;;
init_c )
echo "#include " > $1
vim $1 ;;
* )
echo "$script_type"
echo "init what kind of script? " 1>&2
exit 1;
esac
fi
|
可将此脚本命名为 init_script.sh,放在 ~/bin 中,然后在 ~/bin 中建立一些到 init_script.sh 的软链接,如:
ln -s init_script.sh init_perl ln -s init_script.sh init_bash ln -s init_script.sh init_c |
等等,然后就可以使用 init_perl foo 等来建立新的脚本文件。新建立的文件不但权限已经设置好,而且还会在头部加入常用的代码。
当然,这个脚本可以扩展的更为通用。例如根据命令行选项或者调用脚本时的名字从一个默认或指定的目录中选取适当的模板文件,然后根据命令行选项或其他信息对模板进一步修改,等等。
阅读(1494) | 评论(1) | 转发(0) |