Hello Shell 个人脚本管理工具,一个未完待续的想法,欢迎你

2017-07-18 12:59:12 +08:00
 wl879

项目地址:https://github.com/wl879/HelloShell


一切的开始

作为一名程序猿,每个人都会有一些私家珍藏的脚本,来帮助完成自动化流程。但这些脚本并没有得到很好的管理,导致很多人经常重写一些常用的脚本,浪费了很多时间,最可怕的是,越是不管理的人,可能越是对脚本语言不熟悉,所以每次重写,也是重新学习的过程😱,例如我就是这样, 🤔 你又有没有同感。所以,为了让工作效率看起来不是太傻,那可能就需要一个脚本管理工具,来方便管理。

举个例子,每次遇到,就觉得傻到爆

ll 命令,常用但不是系统默认,每次重装系统或换了电脑,都要重新配置,又不是经常操作,忘的快,总不记得 alias 怎么写,就每次的问 google。 😱。

满足简单的需求

  1. 可以很方便地创建脚本文件,一步链接到 bin 目录
  2. 提供常用的模板,工具,方便脚本开发
  3. 可以方便的备份脚本到 github,与恢复脚本。

这里想求大家来帮助,尽可能满足通用的要求

如果你觉得,你的脚本管理的也是一塌糊涂,并且觉得上面的需求你也有,并且更多,那么欢迎你加入到项目开发里。对没有说错,是邀请你来开发。我要承认,我的对写脚本并不是很好,只可算作初学者。所以,如果有你的加入,才能开发出一款真正有效的应用,如果你也是位初学者,也可把它当做是一次学习。

帮助文档 (未完待续)

安装

- 使用 npm

$ npm install helloshell -g

- 手动

$ git clone https://github.com/wl879/HelloShell.git
$ chmod 777 ./HelloShell/main.py
$ ln -s "$(pwd)/HelloShell/main.py" /usr/local/bin/helloshell

命令参数说明

1. 新建脚本到仓库中

$ helloshell new name [-l [name]]

新建一个脚本,目前支持 bash/python 模板,参数 -l, --link 设置将脚本链接到 bin 目录下

2. 对仓库进行管理

$ helloshell repo [-d file] [-r github] [-b] [-u]

3. 将脚本安装到系统环境中

$ helloshell link

4. 读写配置文件

$ helloshell conf <file> [option [= value]] [--prefix name]

e.g.

# 写入配置
$ helloshell conf test.ini name=wang sex=man
name="wang";
sex="man";

# 读取配置
$ helloshell conf test.ini
name="wang";
sex="man";

$ helloshell conf test.ini name
name="wang";

5. 解析参数

$ helloshell args <file> [arguments]

解析参数为 shell 语法格式,以argv_为前缀

**e.g. **

将下例代码保存为 test.sh 文件, 读取 <file> 中以 "# HELP DOCUMENT" 为开始的注释段落

#!/bin/sh
# HELP DOCUMENT
#
# 参数:
#	-t, --text string	示例
#	-h, --help			查看帮助
#

eval "$(helloshell args $0 $*)"
if [ $? != 0 ]; then
	echo "Argument Error:"
	echo $argv_errors
	exit 1
fi
if [ $argv_help ]; then
	echo "${help_document}"
	exit 1
fi
if [ $argv_text ]; then
	echo $argv_text
fi

运行结果如下:

$ test.sh --help

 参数:
    -t, --text string    示例
    -h, --help            查看帮助
    
$ test.sh -t "haha"
haha

6. 彩色输出

$ helloshell echo "#r[abcd]"

$ echo "#b[abcd]" | helloshell

#r[] = 红色 / #g[] = 绿色 / #b[] = 蓝色 / #c[] = 蓝绿色 / #d[] = 灰色 / #w[] = 白色


我的邮箱: wl879@foxmail.com

3999 次点击
所在节点    程序员
15 条回复
ysicing
2017-07-18 14:09:44 +08:00
我将常用的脚本打成 deb 包了,需要的时候 apt install 一下哈
wl879
2017-07-18 15:27:17 +08:00
@ysicing 哈哈,我对脚本真是不太懂,你说的是一个办法,就像我说的,越是不管理的人,可能越是对脚本语言不熟悉的,所以就需要一个简单,好理解的管理方法。并且在 google 上搜了搜,没有找到与我想要的类似的,所以如果真的有这个需求的话,也是个很好项目吧。
swulling
2017-07-18 15:31:41 +08:00
越是不管理的人,可能越是对脚本语言熟悉的,因为命令都记住了,没必要 alias
Rice
2017-07-18 15:38:59 +08:00
脚本啊,用到忘记时,我都是直接去 gist 上搜。
cxbig
2017-07-18 17:10:35 +08:00
自己有个私人的 repo 收集常用的 alias 和 function,走到哪 clone 下来,加载到 bashrc 或 zshrc 里就可以用了。
minuux
2017-07-18 17:19:18 +08:00
试试 ansible
jyf007
2017-07-18 17:30:21 +08:00
putty-autoinput:{SPACE}{URL:HOST}{TAB}{URL:PORT}{ENTER}{DELAY 3000}{USERNAME}{ENTER}{ENTER}{DELAY 3000}{PASSWORD}{ENTER}
ssh{SPACE}{USERNAME}@{URL:HOST}{SPACE}-p{SPACE}{URL:PORT}{ENTER}
jyf007
2017-07-18 17:31:22 +08:00
dotfile 直接使用 syncthing 同步。
lithium4010
2017-07-18 18:05:51 +08:00
helloshell 名字太长了,换个短点的做命令更好
wl879
2017-07-18 19:21:46 +08:00
@lithium4010 我好像敲代码时,50% + 的时间都浪费上起名子上了,抽象出一个名字,比抽象出功能还难
wl879
2017-07-18 19:27:34 +08:00
@jyf007 dotfile 简单的研究了一下,不知是不是我没理解,dotfile 主要是备份配置文件的,没用管理脚本功能,而且配置又复杂
FrankHB
2017-07-18 22:38:31 +08:00
同 @cxbig,会有这个需求的一般都自己版本管理工具搞定了吧。而且 VCS 各个系统都有现成的包,基本上不用管安装源。
@swulling 然而长短有别…… ll 比 ls -l --color=auto 真的省事多了……
lgpqdwjh
2017-07-19 09:24:37 +08:00
所以说 想要被管理还得整个 node 咯, 过度轮
pekingzcc
2017-07-19 12:21:38 +08:00
过度轮,脚本什么的写成 function,常用的 alias 等一块集成到 dotfile 里,放在 repo 中,随时 clone 就可以了。顺便不要脸的放一个自己 dotfile 的 repo: https://github.com/zhangchenchen/clean-dotfile
lulinux
2017-07-19 15:10:49 +08:00
crontab 每天备份到另一个 hdd 硬盘。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/376141

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX