1、前言

  1. 其实这是一件花里胡哨的事情
  2. 自己平时用虚拟机跑一些linux测试,日常的习惯是克隆DHCP网络的机器,所以每次的IP都会是新的
  3. 于是乎,每次用MobaXterm连接新机器,都需要新建session(有的时候机器多,一个一个建立真的很烦)
  4. 于是就有了如下华而不实的操作

2、导出MobaXterm的session模板

  1. User sessions这里右键
  2. 选择Export all sessions to file,导出sessions的模板
  3. 导出的模板名称为:MobaXterm Sessions.mxtsessions(只要后缀是.mxtsessions,就可以导入MobaXterm)
  4. 下面我们看一下导出的模板内容
[Bookmarks]
SubRep=
ImgNum=42
192.168.10.2 (root)=#109#0%192.168.10.2%22%root%%-1%-1%%%22%%0%0%0%%%-1%0%0%0%%1080%%0%0%1#MobaFont%10%0%0%0%15%236,236,236%30,30,30%180,180,192%0%-1%0%%xterm%-1%-1%_Std_Colors_0_%80%24%0%1%-1%<none>%%0#0# #-1

3、利用shell脚本生成.mxtsessions文件

#!/usr/bin/env bash
set -e
PWD=$(cd `dirname $0`; pwd)
iphead="192.168"
ipbody="10"
user='root'
xterm='%%-1%-1%%%22%%0%0%0%%%-1%0%0%0%%1080%%0%0%1#Consolas%14%0%0%0%15%236,236,236%0,0,0%180,180,192%0%-1%0%%xterm%-1%-1%30,30,30%54,54,54%255,96,96%255,128,128%14,177,108%24,237,147%190,190,18%222,220,18%18,150,190%27,186,233%255,77,255%255,125,255%84,204,239%142,221,244%204,204,204%204,204,204%80%24%0%1%-1%<none>%%0#0# #-1' function deploytxt (){
seq 2 254 > ${PWD}/${iphead}.${ipbody}.0-remote.txt
seq -w 2 254 > ${PWD}/${iphead}.${ipbody}.0-sessionName.txt
sed -i "s/^/${iphead}.${ipbody}./g" ${PWD}/${iphead}.${ipbody}.0-remote.txt
sed -i "s/^/${iphead}.${ipbody}./g" ${PWD}/${iphead}.${ipbody}.0-sessionName.txt
paste ${PWD}/${iphead}.${ipbody}.0-sessionName.txt ${PWD}/${iphead}.${ipbody}.0-remote.txt > xterm.txt
printf "\e[1;32m ${iphead}.${ipbody}.0.txt is created in ${PWD}/\e[0m\n"
} function deploymxtsessions () {
cat > ${PWD}/${iphead}.${ipbody}.0.mxtsessions <<EOF
[Bookmarks]
SubRep=
ImgNum=42
EOF
echo "##sessionName## (##user##)=#109#0%##remote##%22%##user##${xterm}" > ${PWD}/xterm.example.txt
printf "\e[1;32m ${iphead}.${ipbody}.0.mxtsessions example is created in ${PWD}/\e[0m\n"
} function createmxtsessions () {
while read xterm_line
do
sessionName=$(echo $xterm_line | awk '{print $1}')
remote=$(echo $xterm_line | awk '{print $2}')
while read xterm_example_line
do
echo ${xterm_example_line} | sed -e "s/##sessionName##/${sessionName}/" -e "s/##remote##/${remote}/" >> ${PWD}/${iphead}.${ipbody}.0.mxtsessions
done < ${PWD}/xterm.example.txt
done < ${PWD}/xterm.txt
sed -i "s/##user##/${user}/g" ${PWD}/${iphead}.${ipbody}.0.mxtsessions
rm -f ${PWD}/*.txt
printf "\e[1;32m ${iphead}.${ipbody}.0.mxtsessions is created in ${PWD}/\e[0m\n"
} function main () {
deploytxt
deploymxtsessions
createmxtsessions
} main
linux-oz6w:~ # sh mxtsessions.sh
192.168.10.0.txt is created in /root/
192.168.10.0.mxtsessions example is created in /root/
192.168.10.0.mxtsessions is created in /root/
linux-oz6w:~ # ll | grep mxtsessions
-rw-r--r-- 1 root root 54172 Jan 8 06:27 192.168.10.0.mxtsessions
-rw-r--r-- 1 root root 1122 Jan 8 06:08 mxtsessions.sh
`执行脚本后,就会产生192.168.10.0.mxtsessions,从虚拟机导出到宿主机后,就可以导入到MobaXterm`
`脚本里面会删除掉脚本所在路径下所有的.txt文件,一定要注意脚本的执行路径,不要误删了自己的.txt文件`

4、导入到MobaXterm

  1. User sessions这里右键
  2. 先点New folder(这步是为了创建一个目录,把192.168.10.0这个网段的sessions都放到一起,强迫症而已,可以不操作)
  3. 192.168.10.0这里右键
  4. Import sessions into this folder,选择导出的192.168.10.0.mxtsessions,点即可(没有创建目录的话,点Import sessions from file

5、效果图

  1. 太长了,就截取一部分
  2. 更新了一下脚本,做了优化,为了看起来更舒服一点,操作起来也能舒服很多

利用shell为MobaXterm生成session模板的更多相关文章

  1. node 利用命令行交互生成相应模板

    目录 readline 实现 使用process实现 使用 inquirer 调用的生成模板方法 (generator 方法) 创建时间:2019-10-15 测试环境:win10 node-v10. ...

  2. 【转】Hibernate利用@DynamicInsert和@DynamicUpdate生成动态SQL语句

    原文链接:http://www.cnblogs.com/quanyongan/p/3152290.html 最近在使用Hibernate4中,发现两个很有奥秘的注解 @DynamicInsert 和  ...

  3. 利用Node.js实现模拟Session验证的登陆

    1.身份验证和用户登陆 在一般的Web应用上,假设要实现用户登陆,最经常使用,也是最简单的方法就是使用Session,主要的思路是在Session中保留一些用户身份信息,然后每次在Session中取, ...

  4. Hibernate利用@DynamicInsert和@DynamicUpdate生成动态SQL语句

    最近在使用Hibernate4中,发现两个很有奥秘的注解 @DynamicInsert 和 @DynamicUpdate 如果是在配置文件的话那就是dynamic -insert 和 dynamic- ...

  5. 利用Maven把项目生成jar包供其他项目使用

    每当搭建框架时,第一步就是为系统整理一个接一个的jar包.用多了就开始深思,如何把自己的项目也整成jar包,供他人使用呢? 近期一直在看徐晓斌所著:<Maven实战>.因自己学识不够,只是 ...

  6. 利用strut2标签自动生成form前端验证代码

    利用strut2标签自动生成form前端验证代码,使用到的技术有1.struts2标签,如<s:form> <s:textfieled>2.struts2读取*Validati ...

  7. 利用TPC-H为MYSQL生成数据

    ## 利用TPC-H为MYSQL生成数据 导言 这篇文章是看了joyee写的TPC-H数据导入MySQL教程以及另一篇网上的MySQL TPCH测试工具简要手册 后写的,有些内容是完全转载自以上两篇文 ...

  8. 利用ir.sequence自动生成序列号

    利用ir.sequence自动生成序列号 什么是序列号 可以这么理解,我有一个产品序号,编码的前缀是SOP,后缀是0001~9999的序号,没生成一个产品就自动流水加一,序列号不会重复,odoo中的i ...

  9. webapi 利用webapiHelp和swagger生成接口文档

    webapi 利用webapiHelp和swagger生成接口文档.均依赖xml(需允许项目生成注释xml) webapiHelp:微软技术自带,仅含有模块.方法.请求-相应参数的注释. swagge ...

随机推荐

  1. PPT文档学习小练习链接

    1. <初识PPT2010> https://www.toutiao.com/i6486689592241029645/ 2. <PowerPoint2010实现折线图动态展示> ...

  2. Vue下路由History mode 出现404,无法正常刷新

    在History mode下,如果直接通过地址栏访问路径,那么会出现404错误,这是因为这是单页应用(废话)-其实是因为调用了history.pushState API 所以所有的跳转之类的操作都是通 ...

  3. windos 安装 redis 启动闪退

    本来想在linux上安装redis的,后来觉得也没必要,主要是了解使用方法,和原理,在什么平台上安装都是大同小异的 接下来简单描述下碰到的小问题:闪退和启动失败 究其原因就是端口被占用了,但是自己并没 ...

  4. Exception in thread “main“ java.net.ConnectException: Call From

    问题描述:#报错语句:FileSystem fs = FileSystem.get(new URI("hdfs://hadoop000:8020"),new Configurati ...

  5. 【刷题-PAT】A1126 Eulerian Path (25 分)

    1126 Eulerian Path (25 分) In graph theory, an Eulerian path is a path in a graph which visits every ...

  6. 字符串工具类ToStringBuilder常用方法介绍

    一.简介与引入   1.ToStringBuilder.HashCodeBuilder.EqualsBuilder.ToStringStyle.ReflectionToStringBuilder.Co ...

  7. Android 12(S) 图形显示系统 - SurfaceFlinger的启动和消息队列处理机制(四)

    1 前言 SurfaceFlinger作为Android图形显示系统处理逻辑的核心单元,我们有必要去了解其是如何启动,初始化及进行消息处理的.这篇文章我们就来简单分析SurfaceFlinger这个B ...

  8. python类2

    #!/usr/bin/python #coding=utf-8 #好好学习,天天向上 class Car: """一次模拟汽车的简单尝试""" ...

  9. static关键字的一些使用

    百度百科定义static关键字 通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例.在成员的声明前面加上关键字static(静态的)就能创建 ...

  10. docker镜像制作Dockerfile

    使用 Dockerfile 定制镜像 从刚才的 docker commit 的学习中,我们可以了解到,镜像的定制实际上就是 定制每一层所添加的配置.文件.如果我们可以把每一层修改.安装.构建.操作 的 ...