功能描述
自己手动创建脚本通常需要先使用 vim
编辑,保存后手动 chmod +x
赋予执行权限。
此工具的作用就是在创建脚本的同时给脚本赋予执行权限,并且能很容易的自定义自己的脚本模板,让脚本标准化的同时提高了效率~
使用
1、创建脚本文件内容如下方【脚本内容】,添加执行权限,并将其所在目录加入环境变量。
2、测试创建脚本,我这里保存的脚本名称为 nsh
。
3、如果要在创建脚本后立即使用 VIM 打开该脚本,可指定 -c
选项:
4、如果同目录下存在同名文件还会交互式提示确认信息:
脚本内容
#########################################################################
# File Name: newsh
# Author: zze
# mail: zhangzhongen326@gmail.com
# Created Time: 2019-12-18 14:36:19
# Description: 创建脚本的同时添加描述并赋予执行权限
#########################################################################
#!/bin/bash
if [ $# -ne 2 -a $# -ne 3 ];then
echo '需要传递 2 个参数 [1:脚本名称],[2:脚本描述] [可选选项:-c,立即编辑]';
exit 1;
fi
loop_count=0
is_edit=0
while [ -n "$1" ]
do
case "$1" in
-c) is_edit=1 ;;
*) let loop_count++;
case "$loop_count" in
1) script_name="$1";;
2) description="$1";;
esac
esac
shift
done
curr_time=`date '+%Y-%m-%d %H:%M:%S'`
script_name="$script_name.sh"
if [ -e $script_name ];then
while [ 1 -eq 1 ];do
read -n 1 -p '该文件已存在,是否覆盖【y|n】?' is_rewrite
echo
if [ $is_rewrite == 'n' -o $is_rewrite == 'no' ];then
exit 1;
elif [ $is_rewrite == 'y' -o $is_rewrite == 'yes' ];then
break;
fi
done
fi
touch $script_name
if [ $? -eq 0 ];then
chmod +x $script_name;
echo "#########################################################################
# File Name: $script_name
# Author zze
# mail zhangzhongen326@gmail.com
# Create Time:$curr_time
# Description:$description
#########################################################################
#!/bin/bash" > $script_name
if [ $is_edit -eq 1 ];then
vim +$ $script_name
fi
else
echo '创建失败'
exit 1;
fi
评论区