整一个创建脚本并自动赋执行权限的命令~

整一个创建脚本并自动赋执行权限的命令~

微信搜索 zze_coding 或扫描 👉 二维码关注我的微信公众号获取更多资源推送:

功能描述

自己手动创建脚本通常需要先使用 vim 编辑,保存后手动 chmod +x 赋予执行权限。

此工具的作用就是在创建脚本的同时给脚本赋予执行权限,并且能很容易的自定义自己的脚本模板,让脚本标准化的同时提高了效率~

使用

1、创建脚本文件内容如下方【脚本内容】,添加执行权限,并将其所在目录加入环境变量。

2、测试创建脚本,我这里保存的脚本名称为 nsh

image.png

3、如果要在创建脚本后立即使用 VIM 打开该脚本,可指定 -c 选项:

nsh1

4、如果同目录下存在同名文件还会交互式提示确认信息:

image.png

脚本内容

#########################################################################
# 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

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://www.zze.xyz/archives/create-script-cmd.html

Buy me a cup of coffee ☕.