日常命令自动化思路

经常需要查询日志的朋友,肯定都对重复的一堆登陆交互命令习以为常,仔细想想其实这些是很影响效率的,作为程序员同一件事干三次以上就要自动化了,这些命令本质上不就是一堆linux命令的组合么,为什么不用shell命令把它给自动化了
例如git命令,很多时候就是习惯三连,别误会不是点赞转发订阅😄。就是git add , git commit, git push.这三个命令都敲烂了,每次提交就分支名和提交信息可能需要定制化,为什么不把它合并成一步操作。
我写了下面的shell命令,
# !/bin/bash
# author : micro

echo "自动化git提交"
sleep 1s

echo "展示当前git仓库状态"
git status
sleep 1s

echo "添加当前工作区变更"
git add .
echo "提交到本地仓库, 提交信息为 $2"
git commit -m "$2"
echo "同步到远端分支 $1"
git push origin "$1"

echo "处理结束"

再把它添加到用户目录下的.bash_profile文件里,指定该脚本的目录。
alias agit='sh [文件目录]/git-auto.sh

别忘记source .bash_profile 一下立即生效。

之后在git仓库,直接敲击agit [分支] [提交信息]

用久了就再也回不去了。

还有就是最近天天登陆机器查看日志或则是排查问题啥的,都需要一遍一遍登陆机器,而且由于一些需求还需要一台机器登陆多个窗口,每次新的窗口都要重新敲一堆的登陆命令实在是非常的繁琐,对于一个重视效率的程序员来说这是无法容忍的,之前貌似听说过与机器保持session的复制窗口,可以了解一下,但是对于我连第一次登陆机器的session我都懒得敲,咋办!

好吧来仔细分析咱机器登陆的几个步骤:
ssh xxxxx 登陆跳板机器
Opt> 命令提示框需要交互,填写机器名或则应用名
进入机器
切换到日志目录下面

看到没有!其本质就是一堆命令!问题是如何实现交互命令!自动化输入,这里拿出expect工具,它能实现交互型的脚本命令,其是在tcl基础上的工具,需要先安装tcl和tk。tcl官网下载 下载解压后到下面目录安装
安装顺序是tk, tcl 然后是expect!!
关于安装细节参考这篇文章 安装excpt教程

解压不说了,文中的configure是./执行的

#cd tcl8.4.19
#cd unix
#./configure

官网下载这个实在是太慢了,于是找到csdn tcl下载
tk下载

安装except用主流的5.45。在安装中遇到了大坑

在make命令链接库时候遇到了
在这里插入图片描述
意识就是缺乏 ltclstub库。
后来重试了版本except下载

然后又在安装tk的时候遇到了
在这里插入图片描述
原来是以来X11,最新的macx已经不带了,需要自行安装XQuartz。下载链接

要崩溃了!!!

后来发现mac mojave自带expect命令。查看/usr/bin/下面,或则终端直接输入expect看是否可以进入即可。

下面执行脚本:

# !/usr/bin/expect -f
# author : jihai
send_user "自动登陆xxxx服务器"
spawn ssh xxx
set serverIndex [lindex $argv 0]
expect "Opt>" {
    send "xx\n"
    send "${serverIndex}\n"
    send "cd /logs/xxxx\n"
}
interact

网上很多文章说./执行我没成功,执行的时候使用expect xxx.sh执行成功!!

大功告成!!!

后续再配合alias配置别名,更进一步自动化。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Unix系统中,有一些常用的命令用于日常操作。以下是一些常见的Unix日常操作命令: 1. `ls`:列出当前目录下的文件和文件夹。 2. `cd`:切换目录。使用`cd`命令后跟目标目录的路径,可以进入该目录。 3. `pwd`:显示当前所在的目录路径。 4. `mkdir`:创建新的目录。使用`mkdir`命令后跟要创建的目录名,可以在当前目录下创建一个新的目录。 5. `rm`:删除文件或目录。使用`rm`命令后跟要删除的文件或目录的路径,可以删除指定的文件或目录。请注意,删除操作是不可逆的,请谨慎使用。 6. `cp`:复制文件或目录。使用`cp`命令后跟源文件或目录的路径,以及目标文件或目录的路径,可以将源文件或目录复制到指定位置。 7. `mv`:移动文件或目录。使用`mv`命令后跟源文件或目录的路径,以及目标文件或目录的路径,可以将源文件或目录移动到指定位置,也可以用来对文件或目录进行重命名。 8. `cat`:查看文件内容。使用`cat`命令后跟要查看的文件名,可以显示该文件的内容。 9. `grep`:在文件中查找匹配的字符串。使用`grep`命令后跟要查找的字符串和要查找的文件名,可以找到包含该字符串的行。 10. `chmod`:修改文件或目录的权限。使用`chmod`命令后跟权限模式和要修改权限的文件或目录名,可以更改文件或目录的读、写、执行权限。 这只是一些常见的Unix日常操作命令,还有很多其他命令用于不同的操作。可以通过查阅Unix系统的文档或使用`man`命令来获取更详细的信息和使用方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值